在英文中,filter是过滤器的意思,而map则有映射的意思
这两类函数在应用中主要分两类使用
1.没有逻辑判断表达式的情况下
2.有逻辑判断表达式的情况下
1.没有逻辑判断
filter 将返还列表元素
%将列表的元素平方
m = [5,10,1,2,3,4,5,4]
odm = filter(lambda x:x**2,m)
print(list(odm))
结果:
[5, 10, 1, 2, 3, 4, 5, 4]
map 将返还列表元素的计算结果
m = [5,10,1,2,3,4,5,4]
odm = map(lambda x:x**2,m)
print(list(odm))
结果:
[25, 100, 1, 4, 9, 16, 25, 16]
2.涉及逻辑判断
filter过滤器函数将筛选符合 lambda 表达式的列表元素
%筛选列表中的 奇数
m = [5,10,1,2,3,4,5,4]
odm = filter(lambda x:(x%2 == 1),m)
print(list(odm))
结果:
[5, 1, 3, 5]
map则会对列表元素是否满足 lambda 表达式进行逻辑判断
%判断列表里数字的 奇偶性
m = [5,10,1,2,3,4,5,4]
odm = map(lambda x:(x%2 == 1),m)
print(list(odm))
结果:
[True, False, True, False, True, False, True, False]
如有错误,请多多指教!