当前位置:   article > 正文

Python进阶—filter函数_python list filter

python list filter

filter有“过滤”的意思,filter函数作用是过滤列表中的元素,返回一个由所有符合条件的元素组成的列表。符合条件即条件函数映射到该元素时返回值为True,话不多说,举栗子:

list1 = [1, 2, 3, 4, 5, 6]
#求列表中所有能被2整除的元素,并且结果以列表形式返回

#方法一:
list2 = []
for i in list1:
    if i % 2 == 0:
        list2.append(i)
print list2

#方法二:
def func(x):
    if x % 2 == 0:
        return True
    else:
        return False    
print filter(func,list1)

#方法三:
print filter(lambda x: x % 2 == 0, list1)

#注:如果使用的是python3,filter返回的是一个迭代器,需要用list转换一下格式
print list(filter(lambda x: x % 2 == 0, list1))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23

输出:

[2, 4, 6]
[2, 4, 6]
[2, 4, 6]
[2, 4, 6]

其实,filter也类似于一个for循环,但是它是内部函数,计算速度比较快,结合lambda使用比较方便简洁。对于处理列表、元组、字典中所有元素的方法,还可以使用推导式,我会在别的章节讲到。
The End!Thanks~

转自 http://17coding.top

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/578404
推荐阅读
相关标签
  

闽ICP备14008679号