亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python Map 函數(shù)詳解

 更新時(shí)間:2021年12月20日 15:42:40   作者:IT孔乙己  
這篇文章主要為大家介紹了Python Map 函數(shù),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

如果你正在學(xué)習(xí)編程,那么掌握 Python map 函數(shù)是你升級(jí)的機(jī)會(huì)。

想象一下:你想成為一個(gè)更高效的程序員,你希望代碼編譯得更快,你想用你強(qiáng)大的編程知識(shí)給同行留下深刻印象。如果你對(duì)其中任一點(diǎn)有共鳴,那么你來對(duì)地方了。

在我們繼續(xù)之前,你需要了解什么是函數(shù)和可迭代對(duì)象:

函數(shù)是執(zhí)行特定任務(wù)的代碼。

例如:len(), print(), str()

可迭代對(duì)象是包含一個(gè)或多個(gè)項(xiàng)的對(duì)象。

例如:列表字典、元組

Python map 函數(shù)是一個(gè)允許你使用另一個(gè)函數(shù)轉(zhuǎn)換整個(gè)可迭代對(duì)象的函數(shù)。這里的關(guān)鍵概念是轉(zhuǎn)換,它可以包括但不限于:

  • 將字符串轉(zhuǎn)換為數(shù)字
  • 四舍五入數(shù)字
  • 獲取每個(gè)可迭代項(xiàng)的長度

你可能想知道,“為什么我不能用 for 循環(huán)來做上面的事情?”

答案是:你可以。但是使用 Python map 函數(shù)可以節(jié)省內(nèi)存(這意味著你的代碼運(yùn)行得更快),并且需要更少的代碼。讓我們通過一個(gè)例子來表達(dá)我的意思。

首先我們從 for 循環(huán)開始

假設(shè)你有一個(gè)數(shù)字組成的字符串列表,你需要將字符串列表轉(zhuǎn)換為整數(shù):

list_of_strings = ["5","6","7","8","9", "10"]

你可以使用空列表和 for 循環(huán)來完成此操作:

list_of_strings = ["5","6","7","8","9", "10"]
result = []
for string in list_of_strings:
    result.append(int(string))
print(result)

這個(gè)示例運(yùn)行的結(jié)果是:

輸出:[5, 6, 7, 8, 9, 10]

for 循環(huán)背后發(fā)生了什么

你可能對(duì)結(jié)果感到滿意,但想想你的代碼剛剛做了什么。

你告訴計(jì)算機(jī)遍歷每個(gè)項(xiàng)目(“5”、“6”、“7” 等),轉(zhuǎn)換項(xiàng)目,然后將該項(xiàng)目存儲(chǔ)在新列表中。雖然使用 for 循環(huán)來轉(zhuǎn)換列表是有效的,但它不是最佳的。

Python map 函數(shù)(附示例代碼)

相反,讓我們使用 Python map 函數(shù)來生成最佳結(jié)果。我們將從需要轉(zhuǎn)換的字符串列表開始:

list_of_strings = ["5","6","7","8","9", "10"]

然后我們將使用 Python map 函數(shù)將字符串列表轉(zhuǎn)換為整數(shù)列表:

result = map(int,list_of_strings)
print(list(result))

如果你運(yùn)行上面的例子,你會(huì)得到相同的結(jié)果:

輸出:[5, 6, 7, 8, 9, 10]

在我們了解為什么 Python map 函數(shù)比使用 for 循環(huán)更好之前,讓我們分解一下我們剛剛做的事情:

list_of_strings = ["5","6","7","8","9", "10"]

我們?cè)谶@里所做的只是創(chuàng)建一個(gè)變量來存儲(chǔ)我們想要轉(zhuǎn)換為數(shù)字的字符串列表。

result = map(int,list_of_strings)

讓我們從里到外分解上面的代碼。Python map 函數(shù)的語法如下:

map(insert function here, insert iterable here)

map() 只是 Python map 函數(shù)的名稱,沒什么特別的。

insert function here 是你將在函數(shù)中寫入的空間。在上面的代碼示例中,我們使用了 int 函數(shù)。我們可以使用另一個(gè)內(nèi)置函數(shù),如 len() ,或者我們可以構(gòu)建自己的函數(shù)并在這里也使用它。

insert iterable here 是你將在你選擇的可迭代項(xiàng)目中寫入的空間。在本例中,我們插入了列表(list_of_strings)。

result 是我們存儲(chǔ)新轉(zhuǎn)換項(xiàng)目的變量。

讓我們轉(zhuǎn)到最后一行代碼。同樣,它將從內(nèi)而外執(zhí)行:

print(list(result))

list() 接收我們新轉(zhuǎn)換的可迭代項(xiàng),并告訴我們的計(jì)算機(jī)這些項(xiàng)是列表的一部分。

print() 打印出我們的新列表!

Python map 函數(shù)背后發(fā)生了什么

Python map 函數(shù)不是遍歷字符串列表的每個(gè)項(xiàng)目,而是將整個(gè)字符串列表轉(zhuǎn)換為數(shù)字列表。你節(jié)省了內(nèi)存,并且代碼運(yùn)行得更快。

如果要轉(zhuǎn)換項(xiàng)目,使用 Python map 函數(shù)比 for 循環(huán)更好

最后,Python map 函數(shù)比 for 循環(huán)更優(yōu)雅,將幫助你更快地編譯代碼。

使用 Python map 函數(shù)將有助于將你的編程技能提升到一個(gè)新的水平,讓你成為一名更好的程序員。在此過程中,你甚至可以用這項(xiàng)新技能給你的同行留下深刻印象。

總結(jié)

Python map 函數(shù)只是一個(gè)開始。還有更多 Python 技巧可以幫助你編寫更優(yōu)雅的代碼并提升你的編程技能。祝你學(xué)習(xí)愉快!

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

最新評(píng)論