匿名函数的补充知识

匿名函数的补充知识

这里介绍几种可以和匿名函数搭配的内置方法

【一】map()函数

  • map函数的语法如下

    map(函数名, 要遍历的数据)  
    # 内部本质就是for循环,再记住两个参数的位置和作用
    

【二】zip()函数

  • zip 函数用于将可迭代的对象作为参数
    • 将对象中对应的元素打包成一个个[元组 tuple]
    • 然后返回由这些元组组成的对象
    • 返回的结果可以直接强转为 [list 列表]

'''
参数说明:
iterable — 迭代器对象,zip函数中的迭代器对象可以是一个或者多个.
返回值 : 返回zip类的对象,可以通过list()强制转为list列表.
'''
zip([iterable, ...])

# zip 也叫拉链
l = [11, 22, 33, 44, 55, 66]
ll1 = ['name', 'age', 'hobby', 'aaa', 'b', 'ccc', 'ddd', 'fff']
ll2 = ['nam2e', 'age1', 'hobby1', 'aaa1', 'b', 'ccc', 'ddd', 'fff']
ll3 = ['name1', 'age2', 'hobby2', 'aaa2', ]
res = zip(l, ll1, ll2, ll3)
# <zip object at 0x000001646C22FE00> [(11, 'name'), (22, 'age'), (33, 'hobby')]
print(list(res))
# [(11, 'name', 'nam2e', 'name1'), (22, 'age', 'age1', 'age2'), (33, 'hobby', 'hobby1', 'hobby2'), (44, 'aaa', 'aaa1', 'aaa2')]
  • zip函数会将传进去的可迭代对象的每一个值拆分成一个个元祖再添加到一个字典里
  • 如果某个传进去的元素跟其他的不匹配,则按最小的进行组装

【三】max()函数

  • [max 函数]返回给定参数的最大值,参数可以为序列语法:
# 返回值:返回参数中的最大值;
max( x, y, z, .... )

注意:max 函数中的类型只能是 [int 或者 float 类型],其他类型会报错

# l = [1, 2, 10, 30, 5, 6, 7, 8]
# 求出列表中最大值
# print(max(l)) #30

# 求出最小值
# print(min(l)) #1

#
d = {
    'Aevin': 10000,
    'zack': 2000,
    'zony': 30000,
    'Fank': 5000000000
}
'''
    A-Z:65-90
    a:97
'''
'''如果是字典,比较的是key,说白了就是你暴露什么,就按照什么比较'''


def index(key):
    return d[key]


'''如果传了key参数,就是返回什么值就按照什么值比较'''
print(max(d, key=index))  # Fank
print(max(d, key=lambda key: d[key]))  # Fank

# 求最小值
print(min(d, key=index))  # zack
print(min(d, key=lambda key: d[key]))  # zack

【四】filter()函数

l = [1, 10, 20, 55, 66, 77]
# ll = []
# for i in l:
#     if i > 20:
#         ll.append(i)
# print(ll)

def index(x):
    return x > 20
# res=filter(index, l)
res=filter(lambda x:x>20, l)
print(list(res))  # [55, 66, 77]
posted @ 2023-05-22 17:57  Chimengmeng  阅读(28)  评论(0编辑  收藏  举报