python中filter和map的区别

发布网友 发布时间: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

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com