1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
'''
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']