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']

posted @ 2017-04-20 16:54  C/C++/Python/Java  阅读(3528)  评论(0编辑  收藏  举报