python列表map函数_python中map函数怎么显示结果
map()函數接收兩個參數,一個是函數,一個是Iterable,map將傳入的函數依次作用到序列的每個元素,并把結果作為新的Iterator返回。
現在,我們用Python代碼實現:>>>?def?f(x):...?????return?x?*?x
...>>>?r?=?map(f,?[1,?2,?3,?4,?5,?6,?7,?8,?9])
>>>?list(r)
[1,?4,?9,?16,?25,?36,?49,?64,?81]
map()傳入的第一個參數是f,即函數對象本身。由于結果r是一個Iterator,Iterator是惰性序列,因此通過list()函數讓它把整個序列都計算出來并返回一個list。
你可能會想,不需要map()函數,寫一個循環,也可以計算出結果:L?=?[]for?n?in?[1,?2,?3,?4,?5,?6,?7,?8,?9]:
L.append(f(n))
print(L)
的確可以,但是,從上面的循環代碼,能一眼看明白“把f(x)作用在list的每一個元素并把結果生成一個新的list”嗎?
所以,map()作為高階函數,事實上它把運算規則抽象了,因此,我們不但可以計算簡單的f(x)=x2,還可以計算任意復雜的函數,比如,把這個list所有數字轉為字符串:>>>?list(map(str,?[1,?2,?3,?4,?5,?6,?7,?8,?9]))
['1',?'2',?'3',?'4',?'5',?'6',?'7',?'8',?'9']
總結
以上是生活随笔為你收集整理的python列表map函数_python中map函数怎么显示结果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: stm32正常运行流程图_stm32软件
- 下一篇: how是什么意思(一次搞定感叹句中wha