filter()函数
Python内建的filter()
函数用于过滤
序列
和
map()
类似,fliter()
也接收一个函数和一个序列。和map()
不同的是,filter()
把传入的函数依次作用于每个元素,然后根据返回值的Ture
还是False
决定保留还是丢弃该元素。
在一个list中,删掉偶数,只保留奇数,可以这么写:
def a(x):
return x % 2 == 1
b = list(filter(a,[1,2,3,4,5,6,7,8,9]))
print (b)
#结果:[1, 3, 5, 7, 9]
把一个序列中的空字符串删掉,可以这么写:
def not_empty(s):
return s and s.strip() #理解一下
list(filter(not_empty, ['A', '', 'B', None, 'C', ' ']))
# 结果: ['A', 'B', 'C']
网友评论