
使用 filter() 方法可以使Python 程序开发获得功能性提升,开发者可以设计出清晰,简短的代码,避免在循环或分支控制中某些不必要的复杂因素的影响。
filter() 方法通过一个函数检查每一个项元素是否符合,从而完成过滤,返回一个可遍历集。 返回的可遍历集,或者是一个序列,或者是一个支持遍历的容器。如果没有指定过滤函数,则假定是标识函数,为假的元素被移除。
语法
filter(function, iterable)
- function : 测试每一个元素是否符合
- iterable : 被过滤的遍历集
列表过滤
# 定义检测函数
def foo(var):
directions = ['east', 'west', 'north', 'south']
if (var in directions):
return True
else:
return False
# 要过滤的列表
myList = ['sunday', 'east', 'march', 'west', '101', 'north', 'abcd', 'south']
# 过滤
filtered = filter(foo, myList)
print('过滤结果:')
for str in filtered:
print(str)
结果
过滤结果:
east
west
north
south
使用lambda表达式进行过滤
myList = [10, 15, 40, 6, 30, -20]
#返回10的倍数
filtered = list(filter(lambda n : n%10 == 0, myList))
print(filtered)
结果
[10, 40, 30, -20]
【编程】Python 字符串和整数
【编程】Python range() 函数
【编程】Python 多线程编程
【编程】Python 多线程和进程
【编程】Python 读写CSV文件
【编程】Python 解析XML
【编程】Python 终止程序
【编程】Python 随机数
【编程】Python 异常处理
【编程】Python 日期和时间
【编程】Python 多线程套接字
【编程】Python 套接字
【编程】Python FTP
【编程】Python 网页