python学习笔记 -- filter() 过滤符合条件的可迭代序列

'''

filter: 过滤符合条件的可迭代序列
        1.参数1: 函数 或 lambda表达式
        2.参数2: 可迭代序列

'''

#函数: 过滤大于60分
def greater_than_60(x):
    return x >= 60

scores = [88,67,95,58,86,99,43,66]
results = filter(greater_than_60, scores)
print(list(results))    #[88, 67, 95, 86, 99, 66]

#lambda表达式:
names = ['Tom', 'Jerry', 'Marry']
#过滤: 遍历列表names, 将每个列表元素保存在str_name中, 如果符合'r' in str_name条件, 则返回str_name
#      最终将所有符合条件的元素过滤出来.
result = filter(lambda str_name: 'r' in str_name, names)
print(list(result)) #['Jerry', 'Marry']

打印结果:
[88, 67, 95, 86, 99, 66]
['Jerry', 'Marry']

原文地址:https://www.cnblogs.com/DuanLaoYe/p/6739650.html