map函數
map(func, *iterables) --> map object
- 參數function 傳的是一個函數名,可以是python內置的,也可以是自定義的。
- 參數iterable 傳的是一個可以迭代的對象,例如列表,元組,字符串這樣的。
處理序列中的的每個元素,得到的結果是一個‘列表+’,該列表的元素個數及位置與原來的一樣;
a
=
(
1
,
2
,
3
,
4
,
5
)
b
=
[
1
,
2
,
3
,
4
,
5
]
la
=
map
(
lambda
x
:
x
+
1
,
a
)
lb
=
map
(
lambda
x
:
x
**
2
,
b
)
print
(
list
(
la
)
)
print
(
list
(
lb
)
)
輸出:
[2, 3, 4, 5, 6]
[1, 4, 9, 16, 25]
filter函數
filter(function or None, iterable) --> filter object
對sequence中的item依次執行function(item),將執行結果為True的item組成一個list/String/Tuple(取決于sequence的類型)返回;
people
=
[
{
'name'
:
'alex'
,
'age'
:
24
}
,
{
'name'
:
'hu'
,
'age'
:
23
}
,
{
'name'
:
'gu'
,
'age'
:
18
}
]
print
(
list
(
filter
(
lambda
p
:
p
[
'age'
]
<=
20
,
people
)
)
)
# 輸出:[{'name': 'gu', 'age': 18}]
reduce函數
reduce(function, sequence[, initial]) -> value
- function – 函數,要有兩個參數
- iterable – 可迭代對象
- initializer – 可選,初始參數
需要導入模塊
from functools import reduce
>>
>
def
add
(
x
,
y
)
:
# 兩數相加
.
.
.
return
x
+
y
.
.
.
>>
>
reduce
(
add
,
[
1
,
2
,
3
,
4
,
5
]
)
# 計算列表和:1+2+3+4+5
15
>>
>
reduce
(
lambda
x
,
y
:
x
+
y
,
[
1
,
2
,
3
,
4
,
5
]
)
# 使用 lambda 匿名函數
15
== reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). ==
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
