第七章 (小补充)匿名函数搭配使用
目录
常用的内置函数
1.lambda 形参:返回值
# 匿名函数一般不单独使用 主要配合其他函数一起使用
2.map() # 映射
map(函数名,可迭代对象) # 结果是一个迭代器(老母猪)
l = [11, 22, 33, 44, 55, 66, 77]
res = map(lambda x: x + 1, l)
res = list(res)
print(res)
结果:[12, 23, 34, 45, 56, 67, 78]
3.zip() 拉链
'''传统方式'''
l = [11, 22, 33, 44]
name_lsit = ['jason', 'kevin', 'tony', 'jerry']
l1 = [1, 2, 3, 4]
l2 = [8, 7, 6, 5]
new_list = []
for i in range(len(l)):
new_list.append((l[i], name_lsit[i], l1[i], l2[i]))
print(new_list)
'''结果:[(11, 'jason', 1, 8), (22, 'kevin', 2, 7), (33, 'tony', 3, 6), (44, 'jerry', 4, 5)]'''
'''zip!!!'''
l = [11, 22, 33, 44, 55, 66, 77]
name_lsit = ['jason', 'kevin', 'tony', 'jerry']
l1 = [1, 2, 3, 4, 5, 6, 7]
l2 = [8, 7, 6, 5, 4, 3, 2, 1]
res = list(zip(l, name_lsit, l1, l2))
print(res)
'''结果:[(11, 'jason', 1, 8), (22, 'kevin', 2, 7), (33, 'tony', 3, 6), (44, 'jerry', 4, 5)]'''
4.max与min max求最大值 min求最小值
l = [11, 22, 33, 44, 55, 66, 77]
print(max(l)) # 77
print(min(l)) # 11
d = {
'jason': 3000,
'Bevin': 1000000,
'Ascar': 10000000000,
'aerry': 88888
}
def index(key):
return d[key]
print(max(d, key=lambda key: d[key])) # Ascar for循环先取值 之后再比较大小
print(min(d, key=lambda key: d[key])) # jason
4.filter 过滤
l = [11, 22, 33, 44, 55]
res = filter(lambda x: x > 30, l)
print(list(res)) # [33, 44, 55]
5.reduce 归总
from functools import reduce
d = [11, 22, 33, 44, 55, 66, 77, 88, 99]
res = reduce(lambda x, y: x + y, d)
print(res) # 495
res1 = reduce(lambda x, y: x + y, d, 100)
print(res1) # 595