當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python map()用法及代碼示例


在本教程中,我們將借助示例了解 Python map() 函數。

map() 函數將給定函數應用於可迭代對象(列表、元組等)的每個項目並返回一個迭代器。

示例

numbers = [2, 4, 6, 8, 10]

# returns square of a number
def square(number):
  return number * number

# apply square() function to each item of the numbers list
squared_numbers_iterator = map(square, numbers)

# converting to list
squared_numbers = list(squared_numbers_iterator)
print(squared_numbers)

# Output: [4, 16, 36, 64, 100]

map() 語法

它的語法是:

map(function, iterable, ...)

map()參數

map() 函數有兩個參數:

  • function- 對可迭代對象的每個元素執行某些操作的函數
  • iterable- 一個可迭代的,列表,元組, 等等

您可以將多個iterable 傳遞給map() 函數。

返回:

map() 函數返回Map類的對象。返回的值可以傳遞給函數,如

  • list() - 轉換為列表
  • set() - 轉換為集合,依此類推。

示例 1:map() 的工作

def calculateSquare(n):
    return n*n


numbers = (1, 2, 3, 4)
result = map(calculateSquare, numbers)
print(result)

# converting map object to set
numbersSquare = set(result)
print(numbersSquare)

輸出

<map object at 0x7f722da129e8>
{16, 1, 4, 9}

在上麵的例子中,元組的每一項都是平方的。

由於 map() 需要傳入一個函數,因此在處理 map() 函數時通常會使用 lambda 函數。

lambda 函數是一個沒有名稱的短函數。訪問此頁麵以了解有關 Python lambda Function 的更多信息。

示例 2:如何在 map() 中使用 lambda 函數?

numbers = (1, 2, 3, 4)
result = map(lambda x: x*x, numbers)
print(result)

# converting map object to set
numbersSquare = set(result)
print(numbersSquare)

輸出

<map 0x7fafc21ccb00>
{16, 1, 4, 9}

此示例和示例 1 的函數沒有區別。

示例 3:使用 Lambda 將多個迭代器傳遞給 map()

在此示例中,添加了兩個列表的對應項。

num1 = [4, 5, 6]
num2 = [5, 6, 7]

result = map(lambda n1, n2: n1+n2, num1, num2)
print(list(result))

輸出

[9, 11, 13]

相關用法


注:本文由純淨天空篩選整理自 Python map()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。