map函數(shù)
map(func, *iterables) --> map object
- 參數(shù)function 傳的是一個(gè)函數(shù)名,可以是python內(nèi)置的,也可以是自定義的。
- 參數(shù)iterable 傳的是一個(gè)可以迭代的對(duì)象,例如列表,元組,字符串這樣的。
處理序列中的的每個(gè)元素,得到的結(jié)果是一個(gè)‘列表+’,該列表的元素個(gè)數(shù)及位置與原來的一樣;
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函數(shù)
filter(function or None, iterable) --> filter object
對(duì)sequence中的item依次執(zhí)行function(item),將執(zhí)行結(jié)果為True的item組成一個(gè)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函數(shù)
reduce(function, sequence[, initial]) -> value
- function – 函數(shù),要有兩個(gè)參數(shù)
- iterable – 可迭代對(duì)象
- initializer – 可選,初始參數(shù)
需要導(dǎo)入模塊
from functools import reduce
>>
>
def
add
(
x
,
y
)
:
# 兩數(shù)相加
.
.
.
return
x
+
y
.
.
.
>>
>
reduce
(
add
,
[
1
,
2
,
3
,
4
,
5
]
)
# 計(jì)算列表和:1+2+3+4+5
15
>>
>
reduce
(
lambda
x
,
y
:
x
+
y
,
[
1
,
2
,
3
,
4
,
5
]
)
# 使用 lambda 匿名函數(shù)
15
== reduce(lambda x, y: x+y, [1, 2, 3, 4, 5]) calculates ((((1+2)+3)+4)+5). ==
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

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