国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

Python Map 函數的使用

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

map()是一個 Python 內建函數,它允許你不需要使用循環就可以編寫簡潔的代碼。

一、Python map() 函數

這個map()函數采用以下形式:

map(function, iterable, ...)

它需要兩個必須的參數:

function - 針對每一個迭代調用的函數 iterable - 支持迭代的一個或者多個對象。在 Python 中大部分內建對象,例如 lists, dictionaries, 和 tuples 都是可迭代的。

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

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

想要實現這個目的的一種方式是,使用傳統的for循環:

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() 函數,代碼將會非常簡單,非常靈活。

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

我們將會使用list()函數,來將返回的 map 轉換成 list 列表:

輸出:

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

如果返回函數很簡單,更 Python 的方式是使用 lambda 函數:

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

一個 lambda 函數是一個小的匿名函數。下面是另外一個例子,顯示如何創建一個列表,從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()` 函數生成一系列的整數。

二、對多個迭代對象使用map()

你可以將任意多的可迭代對象傳遞給map()函數。回調函數接受的必填輸入參數的數量,必須和可迭代對象的數量一致。

下面的例子顯示如何在兩個列表上執行元素級別的操作:

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 函數,會像這樣:

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

當提供多個可迭代對象時,返回對象的數量大小和最短的迭代對象的數量一致。

讓我們看看一個例子,當可迭代對象的長度不一致時:

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

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

[2, 12, 30]

三、總結

Python 的 map()函數作用于一個可迭代對象,使用一個函數,并且將函數應用于這個可迭代對象的每一個元素。

以上就是Python Map 函數的使用的詳細內容,更多關于Python Map 函數的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 国产成人午夜极速观看 | 国产精品亚洲片在线观看不卡 | 久久精品久久久 | yy6080久久亚洲精品 | 国产成人一区二区三区 | 国产成人精品一区二三区在线观看 | 小毛片在线观看 | 无码精品一区二区三区免费视频 | 国产精品亚洲精品爽爽 | 精品视频免费在线 | 美女脱了内裤张开腿让男人桶网站 | 国产精品三级国语在线看 | 手机在线一区二区三区 | 精品一区二区久久久久久久网站 | 99视频国产热精品视频 | 日韩在线亚洲 | 日韩视频在线观看一区二区 | 看成年女人免费午夜视频 | 日本免费人做人一区在线观看 | 美国免费三片在线观看 | 国产精品19p | 精品国产一区二区三区免费看 | 性欧美美国级毛片 | 国产精品高清全国免费观看 | 国产 日韩 欧美 在线 | 久久99精品视香蕉蕉 | 国产精品9999久久久久 | 加勒比heyzo 加勒比久久综合 | 亚洲精品不卡在线 | 国产区最新 | 国产午夜精品不卡观看 | 亚洲区一区 | 久久超级碰 | 久久国产精品久久久久久 | 精产网红自拍在线 | 久久久久久久99精品免费观看 | 国产欧美久久久另类精品 | 久久精品亚洲综合一品 | 国产一区国产二区国产三区 | 欧美高清在线视频在线99精品 | 日本aa级片 |