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() 函式可以讓你對一個可迭代的物件中的每個元素執行一個函式,並將結果收集起來,形成一個新的可迭代的物件,可以大大提高程式的效率。