发布网友 发布时间:2022-04-21 19:15
共3个回答
热心网友 时间:2022-04-06 15:51
li = [11,22,33,44,55,66]
ret = filter(lambda a:a>33,li)
print(list(ret))
filter是过滤集合中的部分结果
ret2 = map(lambda a:a+100,li)
print(list(ret2))
map是映射每一个元素
热心网友 时间:2022-04-06 17:09
li = [11,22,33,44,55,66]
ret = filter(lambda a:a>33,li)
print(list(ret))
ret1 = filter(lambda a:a+100,li)
print(ret1)
ret2 = map(lambda a:a>33,li)
print(list(ret2))
ret3 = map(lambda a:a+100,li)
print(list(ret3))
输出:
[44, 55, 66]
[11, 22, 33, 44, 55, 66]
[False, False, False, True, True, True]
[111, 122, 133, 144, 155, 166]
通过结果可以看出:filter通过lambda表达式的判断表达式(如a>33)作为删选条件,当为true时才保留a;而map中的lambda表达式中的(如a+100)是个赋值操作,通过对列表li的每个项做该操作后得到新的列表
个人理解,欢迎指正
热心网友 时间:2022-04-06 18:44