python的filter()函数

filter()和map()类似,参数都是一个函数(即过滤条件),一个序列,返回一个Iterator;不同的是,filter()是作用了序列的每一个元素,满足过滤条件的才保留。
举例用法:
保留序列的奇数

>>> def odd(x):
...     return x % 2 == 1
...
>>> list(filter(odd, [1, 2, 3, 4]))
[1, 3]

保留序列内全小写的字符串元素

>>> def is_lower(s):
...     if(isinstance(s, str)):
...             return s.lower() == s
...
>>> list(filter(is_lower, ['aa', 'A', 123, '123a']))
['aa', '123a']
>>>

把序列中的不是字符串和是空字符串的元素删掉

>>> def is_empty(s):
...     if(isinstance(s, str)):
...             return s and s.strip()
...
>>> list(filter(is_empty, ['aa', 'bb', 123, '', ' ']))
['aa', 'bb']
>>>

猜你喜欢

转载自blog.csdn.net/qq_29144091/article/details/81303522
今日推荐