filter()函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。该接收两个参数,第一个为函数,第二个为可迭代对象,可迭代对象的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
l1 = [1, 2, 3, 4, 5] print(filter(lambda x: x % 2 == 0, l1)) '' # 返回列表中的偶数 print(list(filter(lambda x: x % 2 == 0, l1))) '[2, 4]' # 返回字符串中指定的字符及位置 s1 = 'abcasdasd;asd' print(list(filter(lambda x: x[1] in ['a', 'b'], enumerate(s1)))) "[(0, 'a'), (1, 'b'), (3, 'a'), (6, 'a'), (10, 'a')]"
下一篇:python map()函数