首页 > 编程语言 >python的高级函数

python的高级函数

时间:2022-10-10 16:56:43浏览次数:57  
标签:59 函数 23 python list 高级 filter print

#1. 列表生成器

num = [x for x in range(1,10)]
print(num)

old = [x for x in range(1,100) if x % 2 == 1]
print(old)

print([x * x for x in range(10)])

a = ["a","b","c"]
b = [1,2,3]

gro = [x + str(y) for x in a for y in b]
print(gro)

print([x+str(y) for (x,y) in zip(a,b) ])

# 2. filter 函数用于过滤序列,和map类似,filter也接受一个函数和一个序列
# 和map 不同的是 filter 把传入的函数依次作用于每个元素
# 然后根据返回值是true 还是 false 决定保留还是丢弃该元素
def not_empty(s):
"""把一个序列中的空字符串删除掉"""
return s and s.strip()
seq = list(filter(not_empty,["a","b","c",None,""]))
print(seq)

print(bool(None and str.strip("None")))
print(bool("" and "".strip()))

b = [1,2,3,"a","b","c"]

after_filter = list(filter(lambda x:isinstance(x,int),b))
print(after_filter)

print(not_empty("A"))
# filter 函数返回的是一个iterator ,也就是一个惰性序列,所以要强迫filter完成计算结果,需要用list函数
# 获得所有结果,并返回list
def is_odd(x):
"""删掉偶数,只保留奇数"""
return x % 2 == 1

num = list(filter(is_odd,[1,2,3,4,5,6]))
print("保留奇数",num)
# 3. sorted函数也是一个高阶函数,可以按照一些我们想要的方式进行排序
sort_after = sorted([1,-9,-23,-99,59,65])
print(sort_after)
# 他还可以接受一个key函数,完成自定义的排序 ,例如按照绝对值大小排序

abs_sort= sorted([1,-9,-23,-99,59,65],key=abs)
print(abs_sort) # [1, -9, -23, 59, 65, -99]

t = [("bob",75),("Armda",92),("Fat",66),("Lily",88)]
new = sorted(t,key = lambda x : x[1],reverse=True ) # 这一块 x[1] 什么意思????
print(new) # [('Armda', 92), ('Lily', 88), ('bob', 75), ('Fat', 66)]

# 4. reduce函数 ,把一个函数作用在一个序列上,这个函数必须接受2个参数
# reduce把结果继续和序列的下一个元素做积累计算
from functools import reduce # 需要引用包 functools
print(reduce(lambda x,y: x+y,[1,3,5,7,9]))



# 5. map 函数 接受两个参数,一个是函数,一个是iterable,map将函数依次作用在序列的每个元素
# 并把结果作为新的iterator返回
numbers = [1,2,3,4,5,6]
print(list(map(lambda x:x*x,numbers)))



#6. zip 拉链函数
print(list(zip([1,2,3],[4,5,6])))

#####################################################################################################################
执行结果:

[1, 2, 3, 4, 5, 6, 7, 8, 9]
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49, 51, 53, 55, 57, 59, 61, 63, 65, 67, 69, 71, 73, 75, 77, 79, 81, 83, 85, 87, 89, 91, 93, 95, 97, 99]
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
['a1', 'a2', 'a3', 'b1', 'b2', 'b3', 'c1', 'c2', 'c3']
['a1', 'b2', 'c3']
['a', 'b', 'c']
False
False
[1, 2, 3]
A
保留奇数 [1, 3, 5]
[-99, -23, -9, 1, 59, 65]
[1, -9, -23, 59, 65, -99]
[('Armda', 92), ('Lily', 88), ('bob', 75), ('Fat', 66)]
25
[1, 4, 9, 16, 25, 36]
[(1, 4), (2, 5), (3, 6)]

标签:59,函数,23,python,list,高级,filter,print
From: https://www.cnblogs.com/startl/p/16776290.html

相关文章

  • 10月10日内容总结——函数参数和名称空间
    目录一、函数参数一、位置参数位置形参位置实参二、默认参数(关键字参数)关键字形参关键字实参三、可变长形参(可变长度的形参)四、可变长实参(可变长度的实参)五、命名关键字参......
  • thinkphp 模板中使用PHP函数
    在这做个记录。{$item.article|strip_tags|mb_substr=0,60,'utf-8'}编译后的php代码:<?phpecho(mb_substr(strip_tags($item.article),0,60,'utf-8'));>注意函数的......
  • Python 获取几天前的时间
    两种计算方法importtimeimportdatetime#先获得时间数组格式的日期threeDayAgo=(datetime.datetime.now()-datetime.timedelta(days=3))#转换为时间戳timeS......
  • Python学习路程——Day11
    Python学习路程——Day11函数参数在使用函数参数时,一般情况下所需要遵循的规范: 越短的、越简单的、越靠前 越长的、越复杂的、越靠后同一个形参在调用的时候不能多......
  • python编程从入门到实践--第4章 操作列表
    一。遍历整个列表注意缩进,与不要遗漏冒号。magicians=['alice','david','carolina']formagicianinmagicians:#print(magician)print(f"{magician......
  • python命令行输入\n失效
    测试在命令行输入aaaa\ncc时,没有把\n变为换行python把aaaa\ncc变为了aaaa\\ncca=input('请输入:').strip()print(a)输出请输入:aaaa\nccaaaa\ncc......
  • 进入python的世界_day10_python基础——函数之参数、名称空间
    一、位置参数位置形参​ 函数定义阶段(函数定义第一行)括号内从左往右,依次填写变量名位置实参​ 函数调用阶段括号内从左往右,依次填写传入的数据值"""1.位置形参......
  • python连接Phoenix数据库
    参考:https://www.cnblogs.com/alexgl2008/articles/12703793.html1、连接后查询数据:    2、连接后插入数据:  执行结果: ......
  • 神经网络遗传算法函数极值寻优-非线性函数极值
    %%清空环境变量clccleartic%%训练数据预测数据提取及归一化%下载输入输出数据loaddatainputoutput%从1到2000间随机排序k=rand(1,4000);[m,n]=sort(k);%找出训......
  • Python面试
    1.Python是什么2.赋值、浅拷贝和深拷贝的区别https://www.cnblogs.com/kb-python/p/15998681.html1.赋值:就是简单对象的引用,并不会开辟新的内存空间,如下图,当a改变时,b......