内置函数:filter
filter在python中属于内置函数,功能是用于对可迭代对象进行筛选。
语法形式:
filter(function or None, iterable) --> filter object Return an iterator yielding those items of iterable for which function(item) is true. If function is None, return the items that are true.
filter第一个参数为一个function(函数,用于制定过滤规则),第二个参数为可迭代对象,filter把可迭代对象的每一个元素带入到function进行检测,返回值为bool值,返回值为True保留,为False则删除。
最后返回一个filter object,这个返回值是一个可迭代对象。
lst = ["filter", 123, [1, 23, 45], "python", {1, 2, 3}] b = filter(lambda x: isinstance(x, str), lst) # 过滤列表,只留字符串 print(list(b)) ['filter', 'python']
b = filter(lambda x: x % 2, range(50)) #50以内的奇数 print(list(b)) [1, 3, 5, 7, 9, 11, 13, 15, 17, 19, 21, 23, 25, 27, 29, 31, 33, 35, 37, 39, 41, 43, 45, 47, 49]