- filter() 函數:
filter 函數的功能至關於過濾器。調用一個布爾函數bool_func來迭代遍歷每一個seq中的元素;返回一個使bool_seq返回值爲true的元素的序列。
>>>
a
=
[
1
,
2
,
3
,
4
,
5
,
6
,
7
]
>>>b
=
filter(
lambda
x
:
x
>
5
,
a)
>>>
print b
>>>
[
6
,
7
]
若是filter參數值爲None,就使用identity()函數,list參數中全部爲假的元 素都將被刪除。以下所示:
>>>
a
=
[
0
,
1
,
2
,
3
,
4
,
5
,
6
,
7
]
>>>b
=
filter(
None
,
a)
>>>
print b
>>>
[
1
,
2
,
3
,
4
,
5
,
6
,
7
]
- map() 函數:
map函數func做用於給定序列的每一個元素,並用一個列表來提供返回值。
>>>
map(
lambda
x
:
x
+
3
,
a)
#這裏的a同上
>>>
[
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
]
#另外一個例子
>>>
a
=
[
1
,
2
,
3
]
>>>b
=
[
4
,
5
,
6
]
>>>
map(
lambda
x
,
y
:
x
+
y
,
a
,b)
>>>
[
5
,
7
,
9
]
reduce函數,func爲二元函數,將func做用於seq序列的元素,每 次攜帶一對(先前的結果以及下一個序列的元素),連續的將現有的結果和下一個值做用在得到的隨後的結果上,最後減小咱們的序列爲一個單一的返回值。
>>>
a
=
[
1
,
2
,
3
,
4
,
5
]
>>>
reduce(
lambda
x
,
y
:
x
+
y
,
a)
15