python filter函数
描述:
filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,返回True或False,将返回True的元素放到新列表中。
语法:
filter(function, iterable)
参数:
function:判断函数
iterable:可迭代对象
返回值:
列表
求偶数
lst=[1,[文]2,3,4,5[章],6,7]
newlst=filter(lambda x:x%2==0,lst)
print(list(newlst))
判断1..100开根号是否为整数
import math
'[来]39;'[自];
lst=[1,[网]2,3,4,5[淘],6,7]
print(l[巴]ist(map[文](lambda[章] x:x%2,l[来]st)))
newlst=[自]filter([网]lambda x:x%2==[淘]0,lst)
print(l[巴]ist(new[文]lst))
'[章]39;'[来];
Inlst=f[自]ilter(l[网]ambda x:math.[淘]sqrt(x)[巴]%1==0,r[文]ange(1,[章]101))
print(l[来]ist(Inl[自]st))
结果
[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
filter的func携带额外参数
data = [
{'n[网]ame'[淘];: 'ji[巴]m',[文] 'mo[章]ney'[来];: 133, 'ho[自]me'[网]: 'am[淘]e'}[巴],
{'n[文]ame'[章];: 'to[来]m',[自] 'mo[网]ney'[淘];: 456, 'ho[巴]me'[文]: 'ch[章]in'[来]}
]
def func(v,[自] a):
if v.get(&[网]#39;nam[淘]e')[巴] == a:
return True
return False
res = filter([文]lambda x: func(x,[章] 'to[来]m')[自], data)
本文链接:https://www.wtao8.com/post/8.html 转载需授权!