Discuss / Python / 大神给分析分析,为啥下面的函数用filter函数就能得出数字结果用map得到的就是True和False呢?????

大神给分析分析,为啥下面的函数用filter函数就能得出数字结果用map得到的就是True和False呢?????

Topic source

阿根_gen

#1 Created at ... [Delete] [Delete and Lock User]

r=filter(lambda x:x%2==1,range(1,20))

print(list(r))

r=map(lambda x:x%2==1,range(1,20))

print(list(r))

map()是在1-20挨个判断是否满足函数表达式,满足为T,不满足为F.

filter()是在1-20挨个筛选满足函数表达式的值,并输出。

一定注意lambda这个匿名函数的返回值,在map中的那个匿名函数其返回值是一个bool型的,是一个逻辑值,而不是int型


  • 1

Reply