Python 中的 map() 函式

Python 中的 map() 函式是一個非常有用的函式,它可以讓你對一個可迭代的物件(如列表、字典、元組等)中的每個元素執行一個函式,並將結果收集起來,形成一個新的可迭代的物件。

map() 函式的基本語法如下:

map(function, iterable, ...)

其中,function 是要執行的函式,iterable 是要被執行函式的可迭代的物件,可以有多個可迭代的物件,但是要注意,所有可迭代的物件的元素數量必須一致,否則會出現錯誤。

舉個例子來說明,假設我們有一個列表,裡面有一些數字,我們想要對每個數字求平方,可以使用 map() 函式來完成:

numbers = [1, 2, 3, 4, 5]

def square(x):
    return x * x

squares = list(map(square, numbers))

print(squares)

執行結果:

[1, 4, 9, 16, 25]

可以看到,map() 函式將 numbers 列表中的每個元素都傳入 square() 函式,並將結果收集起來,形成一個新的可迭代的物件,我們可以將它轉換成列表,就得到了每個數字的平方。

map() 函式還可以接受多個可迭代的物件,例如,我們可以對兩個列表中的元素做加法運算:

numbers1 = [1, 2, 3, 4, 5]
numbers2 = [6, 7, 8, 9, 10]

def add(x, y):
    return x + y

sums = list(map(add, numbers1, numbers2))

print(sums)

執行結果:

[7, 9, 11, 13, 15]

可以看到,map() 函式將 numbers1 和 numbers2 兩個列表中的元素分別傳入 add() 函式,並將結果收集起來,形成一個新的可迭代的物件,我們可以將它轉換成列表,就得到了兩個列表中元素的和。

總結來說,Python 中的 map() 函式可以讓你對一個可迭代的物件中的每個元素執行一個函式,並將結果收集起來,形成一個新的可迭代的物件,可以大大提高程式的效率。

Categorized in:

Tagged in: