今天讓我們來聊聊 Python 中的『enumerate』這個函數,
enumerate
是 Python 中一個非常有用的內建函數,它允許我們在迭代序列(如串列、數組(元組)或字串)時,同時獲取串列元素的索引和值。這在需要追蹤元素位置的情況下特別方便,不需要手動管理索引變數。
◎enumerate
的基本語法:參數說明:
0
開始。◎主要功能:
自動生成索引
使用 enumerate
函數,可以輕鬆地在迭代序列時,同時獲取每個元素的索引,無需額外的索引變量。
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits):
print(f"Index: {index}, Fruit: {fruit}")
輸出:
Index: 0, Fruit: apple
Index: 1, Fruit: banana
Index: 2, Fruit: cherry
指定起始索引
通過設置 start
參數,可以改變索引的起始值。
fruits = ["apple", "banana", "cherry"]
for index, fruit in enumerate(fruits, start=1):
print(f"Index: {index}, Fruit: {fruit}")
輸出:
Index: 1, Fruit: apple
Index: 2, Fruit: banana
Index: 3, Fruit: cherry
與其他函數結合使用
enumerate
可以與其他函數(如列表生成式、字典生成式等)結合使用,從而更加靈活地操作數據。
fruits = ["apple", "banana", "cherry"]
indexed_fruits = [(index, fruit) for index, fruit in enumerate(fruits)]
print(indexed_fruits)
輸出:
[(0, 'apple'), (1, 'banana'), (2, 'cherry')]
fruits = ["apple", "banana", "cherry"]
fruit_dict = {index: fruit for index, fruit in enumerate(fruits, start=1)}
print(fruit_dict)
輸出:
{1: 'apple', 2: 'banana', 3: 'cherry'}
處理多維數據
enumerate
同樣可以用於多維列表或其他多維結構的迭代,並且可以嵌套使用來處理多層索引。
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9]
]
for i, row in enumerate(matrix):
for j, value in enumerate(row):
print(f"matrix[{i}][{j}] = {value}")
輸出:
matrix[0][0] = 1
matrix[0][1] = 2
matrix[0][2] = 3
matrix[1][0] = 4
matrix[1][1] = 5
matrix[1][2] = 6
matrix[2][0] = 7
matrix[2][1] = 8
matrix[2][2] = 9
◎enumerate
的應用時機:enumerate
可以輕鬆實現這一點。enumerate
使這個過程更加簡單和直觀。enumerate
可以幫助我們在多層迭代中跟蹤元素的多維索引。enumerate
是一個功能強大且易於使用的工具,它可以幫助我們在處理串列時更輕鬆地管理索引。如果在迭代過程中經常需要同時使用索引和元素,那麼使用 enumerate
是非常推薦的做法。