Python學習筆記之map()

上一章講了Python中的高階函數,下面介紹Python的幾個重要的內置高階函數。
首先介紹 map() 函數。map() 函數接收兩個參數,第一個參數是一個函數,第二個參數是一個Iterable。map 將傳入的函數依次作用到序列的每個元素,並把結果作爲新的 Iterator 返回。
下面舉個例子,如果我們想把一個 list 中的所有元素加1,有兩種辦法。一種是迭代這個 list,通過 for 循環實現;另一種就是通過 map() 函數。
通過for循環實現的代碼如下:

# 通過循環的方式,將 list 中的所有元素加1
L = []
li = [0, 1, 2, 3, 4, 5, 6, 7]
for x in li:
    L.append(x + 1)

# 結果
# L = [1, 2, 3, 4, 5, 6, 7, 8]

通過 map() 函數實現的代碼如下:

# 通過 map() 函數將 list 中的所有元素加1
def f(x):
    return x + 1
li = [0, 1, 2, 3, 4, 5, 6, 7]
# 注意,map返回的是一個 Iterator
r = map(f, li)

下面代碼更能體現 map() 函數的強大:

# 將一個 list 中的所有整數變成字符串
list(map(str, [0, 1, 2, 3, 4, 5, 6, 7]))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章