Atopos

导航

匿名函数的搭档

匿名函数的搭档

image

1.匿名函数

没有名字的函数

1.1匿名函数框架

lambda 形参:返回值

匿名函数一般不单独使用 主要配合其他函数一起使用

2.搭档们

2.1map() 映射
map(函数名,可迭代对象) # 结果是一个迭代器
2.1.1示例

l = [1,2,3,4]
map = (lambda X:x+1,l) # 循环获取列表中每个元素并传递给匿名函数保存返回值

2.2zip() 拉链

l = [11, 22, 33, 44]
name_list = ['jason', 'kevin', 'tony', 'jerry']

方式1:
new_list = []
for i in range(len(l)):
    new_list.append((l[i],name_list[i]))
    print(new_list) # [(11, 'jason'), (22, 'kevin'), (33, 'tony'), (44, 'jerry')]
方式2:
res = zip(l,name_list)
print(list(res)) # [(11, 'jason'), (22, 'kevin'), (33, 'tony'), (44, 'jerry')]

image

2.3max()与min()
求最大值与最小值

列表示例
l = [11, 22, 33, 44, 55, 66, 77]
print(max(l))
print(min(l))

字典示例
d = {
    'jason':3000,
    'Bevin':1000000,
    'Ascar':10000000000,
    'aerry':88888
}

def index(key):
    return d[key]
print(max(d,key = lambda key:d[key])) # Ascar
print(min(d,key = lambda key:d[key])) # jason

2.4filter()过滤

l = [11, 22, 33, 44, 55]
# 过滤掉小于30的数
res = filter(lambda x:x>30,l)
print(list(res)) # [33, 44, 55]

2.5reduce() 归总
reduce()函数是functools模块中的一个函数 其作用是对参数序列中元素进行累积 返回值是一个数值
注意:Python3.x reduce() 已经被移到 functools 模块里,如果我们要使用,需要引入 functools 模块来调用 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)

image

posted on 2021-11-19 16:08  Atopos_q  阅读(13)  评论(0编辑  收藏  举报