filter函数:
-
循环帮你调用函数
-
帮你过滤你传入的参数,函数的结果返回的是true那就保存,返回false就不要,且返回的也是迭代器
备注:迭代器用完一个就扔掉一个,直到全部用完,且需要一个list接一下,否则返回的是对象
格式: filter(function, iterable)
function -- 判断函数
iterable -- 可迭代对象
#先写一个函数,作用是做True和False的判断 def judgment(a): return a%2 == 0 #要求可以给2整除,因为这种真假函数都比较小,所以很多地方会用lambda来写 oldlist = [1,2,3,4,5,6,7,8,9,10] newlist = filter(judgment,oldlist) print(list(newlist)) #用list承接filter的函数返回,并打印出新的符合条件的列表 #下面用lambda来简洁一下上面的程序,把oldlist也通过算法生成 print(list(filter(lambda a:a%2==0,range(1,11))))
上面代码输出结果为:
[2, 4, 6, 8, 10]
[2, 4, 6, 8, 10]
你看懂了吗?