亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Python Map 函數(shù)的使用

瀏覽:3日期:2022-07-12 18:55:24

map()是一個(gè) Python 內(nèi)建函數(shù),它允許你不需要使用循環(huán)就可以編寫(xiě)簡(jiǎn)潔的代碼。

一、Python map() 函數(shù)

這個(gè)map()函數(shù)采用以下形式:

map(function, iterable, ...)

它需要兩個(gè)必須的參數(shù):

function - 針對(duì)每一個(gè)迭代調(diào)用的函數(shù) iterable - 支持迭代的一個(gè)或者多個(gè)對(duì)象。在 Python 中大部分內(nèi)建對(duì)象,例如 lists, dictionaries, 和 tuples 都是可迭代的。

在 Python 3 中,map()返回一個(gè)與傳入可迭代對(duì)象大小一樣的 map 對(duì)象。在 Python 2中,這個(gè)函數(shù)返回一個(gè)列表 list。

讓我們看看一個(gè)例子,更好地解釋map()函數(shù)如何運(yùn)作的。假如我們有一個(gè)字符串列表,我們想要將每一個(gè)元素都轉(zhuǎn)換成大寫(xiě)字母。

想要實(shí)現(xiàn)這個(gè)目的的一種方式是,使用傳統(tǒng)的for循環(huán):

directions = ['north', 'east', 'south', 'west']directions_upper = []for direction in directions: d = direction.upper() directions_upper.append(d)print(directions_upper)

輸出:

[’NORTH’, ’EAST’, ’SOUTH’, ’WEST’

使用 map() 函數(shù),代碼將會(huì)非常簡(jiǎn)單,非常靈活。

def to_upper_case(s): return s.upper()directions = ['north', 'east', 'south', 'west']directions_upper = map(to_upper_case, directions)print(list(directions_upper))

我們將會(huì)使用list()函數(shù),來(lái)將返回的 map 轉(zhuǎn)換成 list 列表:

輸出:

[’NORTH’, ’EAST’, ’SOUTH’, ’WEST’]

如果返回函數(shù)很簡(jiǎn)單,更 Python 的方式是使用 lambda 函數(shù):

directions = ['north', 'east', 'south', 'west']directions_upper = map(lambda s: s.upper(), directions)print(list(directions_upper))

一個(gè) lambda 函數(shù)是一個(gè)小的匿名函數(shù)。下面是另外一個(gè)例子,顯示如何創(chuàng)建一個(gè)列表,從1到10。

squares = map(lambda n: n*n , range(1, 11))print(list(squares))

輸出:

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

`range()` 函數(shù)生成一系列的整數(shù)。

二、對(duì)多個(gè)迭代對(duì)象使用map()

你可以將任意多的可迭代對(duì)象傳遞給map()函數(shù)。回調(diào)函數(shù)接受的必填輸入?yún)?shù)的數(shù)量,必須和可迭代對(duì)象的數(shù)量一致。

下面的例子顯示如何在兩個(gè)列表上執(zhí)行元素級(jí)別的操作:

def multiply(x, y): return x * ya = [1, 4, 6]b = [2, 3, 5]result = map(multiply, a, b)print(list(result))

輸出:

[2, 12, 30]

同樣的代碼,使用 lambda 函數(shù),會(huì)像這樣:

a = [1, 4, 6]b = [2, 3, 5]result = map(lambda x, y: x*y, a, b)print(list(result))

當(dāng)提供多個(gè)可迭代對(duì)象時(shí),返回對(duì)象的數(shù)量大小和最短的迭代對(duì)象的數(shù)量一致。

讓我們看看一個(gè)例子,當(dāng)可迭代對(duì)象的長(zhǎng)度不一致時(shí):

a = [1, 4, 6]b = [2, 3, 5, 7, 8]result = map(lambda x, y: x*y, a, b)print(list(result))

超過(guò)的元素 (7 和 8 )被忽略了。

[2, 12, 30]

三、總結(jié)

Python 的 map()函數(shù)作用于一個(gè)可迭代對(duì)象,使用一個(gè)函數(shù),并且將函數(shù)應(yīng)用于這個(gè)可迭代對(duì)象的每一個(gè)元素。

以上就是Python Map 函數(shù)的使用的詳細(xì)內(nèi)容,更多關(guān)于Python Map 函數(shù)的資料請(qǐng)關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Python 編程
相關(guān)文章:
主站蜘蛛池模板: 综合aⅴ| 精品国模一区二区三区 | 激情小视频在线播放免费 | 一线高清视频在线观看www国产 | 黄色在线看网站 | 成人黄色免费网站 | 日韩大片免费在线观看 | 久久国产欧美 | 久久99精品久久久久久园产越南 | 一区二区三区免费高清视频 | 亚洲国产高清视频在线观看 | 日韩欧美在线观看一区 | 国产3区| 小草免费在线视频 | 国产色播 | 欧美三级成人 | 免费午夜不卡毛片 | 亚洲一区二区精品推荐 | 亚洲成在人网站天堂一区二区 | 中文字幕亚洲综合久久202 | 国产欧美精品亚洲桃花岛 | 久久精品色| 成人蜜桃视频网站网址 | 国产精彩对白综合视频 | 精品国产综合区久久久久99 | 一级特黄aa大片免费播放视频 | 日韩日韩日韩日韩日韩 | 一级毛片免费观看不卡的 | 69久成人做爰视频 | 精品国产人成在线 | 亚洲色图 在线视频 | 黄色片免费网址 | 1024国产视频 | 一级特黄特黄的大片免费 | 巨胸美女扒开腿让我爽 | 欧美一级毛片高清免费观看 | 国产毛片一级 | 欧美桃色视频 | 国产伦子一区二区三区 | 国产福利视精品永久免费 | 正在播放亚洲一区 |