小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Python入門教程:內(nèi)置函數(shù)—Map、Reduce、Filter

 千鋒Python學堂 2019-10-29

1. map

根據(jù)提供的函數(shù)對指定序列做映射,第一個參數(shù)function以參數(shù)序列中的每一個元素調(diào)用function函數(shù),返回包含每次function函數(shù)返回值的迭代器

map(function, iterable, ...)

  • function:函數(shù)

  • iterable:一個或多個序列

>>>def square(x) : # 計算平方數(shù)
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # 計算列表各個元素的平方
[1, 4, 9, 16, 25]
>>> map(lambda x: x ** 2, [1, 2, 3, 4, 5]) # 使用 lambda 匿名函數(shù)
[1, 4, 9, 16, 25]

# 提供了兩個列表,對相同位置的列表數(shù)據(jù)進行相加
>>> map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
[3, 7, 11, 15, 19]

Python入門教程:內(nèi)置函數(shù)—Map、Reduce、Filter

2. reduce

對參數(shù)序列中元素進行累積,函數(shù)將一個數(shù)據(jù)集合(鏈表,元組等)中的所有數(shù)據(jù)進行下列操作:用傳給reduce中的函數(shù) function(有兩個參數(shù))先對集合中的第 1、2 個元素進行操作,得到的結(jié)果再與第三個數(shù)據(jù)用function函數(shù)運算,最后得到一個結(jié)果。

reduce(function, iterable[, initializer])

  • function:函數(shù),有兩個參數(shù)

  • iterable:可迭代對象

  • initializer:可選,初始參數(shù)

>>>def add(x, y) : # 兩數(shù)相加
... 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 匿名函數(shù)
15
#實現(xiàn)階乘函數(shù)
reduce(lambda x, y: x * y, range(1, num))

3. filter

用于過濾序列,過濾掉不符合條件的元素,返回一個迭代器對象

filter(function, iterable)

  • function:判斷函數(shù)。

  • iterable:可迭代對象。

#過濾出列表中的所有奇數(shù):
#!/usr/bin/python3

def is_odd(n):
return n % 2 == 1

tmplist = filter(is_odd, [1, 2, 3, 4, 5, 6, 7, 8, 9, 10])
newlist = list(tmplist)
print(newlist)

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多