在 Python 中,`map()` 函數用于對可迭代對象中的每個元素應用相同的函數,返回一個包含結果的迭代器。它的基本語法如下:
map(function, iterable)
- `function`:要應用于每個元素的函數。
- `iterable`:一個或多個可迭代對象,如列表、元組等。
`map()` 函數將函數 `function` 應用于 `iterable` 中的每個元素,并返回一個迭代器,該迭代器包含了應用函數后的結果。迭代器可以通過將其轉換為列表或其他類型的可迭代對象來獲取結果。
以下是幾個使用 `map()` 函數的示例:
1. 對列表中的每個元素進行平方操作:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x ** 2, numbers)
print(list(squared_numbers)) # 輸出: [1, 4, 9, 16, 25]
在這個例子中,我們定義了一個 lambda 函數,它對每個元素進行平方操作。然后,我們將該 lambda 函數應用于列表 `numbers` 的每個元素,并將結果存儲在 `squared_numbers` 迭代器中。最后,我們將迭代器轉換為列表并打印輸出。
2. 將字符串列表中的每個元素轉換為大寫:
numbers = [1, 2, 3, 4, 5]
squared_numbers = map(lambda x: x ** 2, numbers)
print(list(squared_numbers)) # 輸出: [1, 4, 9, 16, 25]
在這個例子中,我們使用內置函數 `str.upper` 將每個字符串元素轉換為大寫形式。然后,我們將該函數應用于字符串列表 `names` 的每個元素,并將結果存儲在 `upper_names` 迭代器中。最后,我們將迭代器轉換為列表并打印輸出。
3. 對兩個列表中對應位置的元素進行相加:
numbers1 = [1, 2, 3]
numbers2 = [10, 20, 30]
result = map(lambda x, y: x + y, numbers1, numbers2)
print(list(result)) # 輸出: [11, 22, 33]
在這個例子中,我們定義了一個 lambda 函數,它將兩個參數相加。然后,我們將該函數應用于兩個列表 `numbers1` 和 `numbers2` 中對應位置的元素,并將結果存儲在 `result` 迭代器中。最后,我們將迭代器轉換為列表并打印輸出。
通過使用 `map()` 函數,可以對可迭代對象中的元素進行批量操作,提供了一種簡潔而有效的方式來處理數據。