python filter函数中写none_轻松学习Python 69个内置函数 - filter()

# filter(function, iterable)

# 用 iterable 中函数 function 返回真的那些元素,构建一个新的迭代器。iterable 可以是一个序列,一个支持迭代的容器,或一个迭代器。如果 function 是 None ,则会假设它是一个身份函数,即 iterable 中所有返回假的元素会被移除。

# 用 iterable 中函数 function 返回真的那些元素,构建一个新的迭代器。iterable 可以是一个序列,一个支持迭代的容器,或一个迭代器。

def func(elem):

return elem in ['a', 'b', 'c', 'd', 'e']

print(f'{ filter(func, "apple") = }')

print(f'{ type(filter(func, "apple")) = }')

print(f'{ list(filter(func, "apple")) = }')

print(f'{ tuple(filter(func, "apple")) = }')

print(f'{ set(filter(func, "apple")) = }')

for elem in filter(func, "apple"):

print(elem)

# iterable 可以是一个序列,一个支持迭代的容器,或一个迭代器。

def func(elem):

return elem % 2 == 0

print(f'{ filter(func, [0, 1, 2, 3, 4, 5]) = }')

print(f'{ list(filter(func, [0, 1, 2, 3, 4, 5])) = }')

# iterable 可以是一个序列,一个支持迭代的容器,或一个迭代器。

def func(elem):

return elem % 2 == 0

iterator = iter([0, 1, 2, 3, 4, 5])

print(f'{ filter(func, iterator) = }')

print(f'{ list(filter(func, iterator)) = }')

# 如果 function 是 None ,则会假设它是一个身份函数,即 iterable 中所有返回假的元素会被移除。

print(f'{ list(filter(None, [None, False, 0, 0.0, 1, "test", ""])) = }')

#

# 请注意, filter(function, iterable) 相当于一个生成器表达式,当 function 不是 None 的时候为 (item for item in iterable if function(item));function 是 None 的时候为 (item for item in iterable if item) 。

#

# 请参阅 itertools.filterfalse() 了解,只有 function 返回 false 时才选取 iterable 中元素的补充函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值