python六剑客之filter()函数
例子一、
filter()函数的执行过程:
6个字母,每个字母会分别代入到一次get_upper_letters,如果函数返回True,这个字母就会被放到list里面保存,否则过滤掉。
例子二、
面试题举例:
filter方法求出列表所有奇数并构造新列表,a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。该函数接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表。
1 a = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 2 def get_odd_num(a): 3 return a % 2 == 1 4 5 newlist = filter(get_odd_num, a) 6 newlist = [i for i in newlist] 7 print(newlist)
运行结果: