文章目錄
- 基本語法
- 基本用法
- 基本遍歷
- 指定起始索引
- 實際應用場景
- 需要索引的循環
- 創建字典映射
- 處理文件行號
- 與range(len())對比
- 注意事項
enumerate()是Python內置函數,用于在遍歷序列(如列表、元組或字符串)時同時獲取索引和值。
基本語法
enumerate(iterable, start=0)
1、iterable: 可迭代對象(列表、元組、字符串等)
2、start: 索引的起始值,默認為0
基本用法
基本遍歷
fruits = ['apple', 'banana', 'cherry']for index, value in enumerate(fruits):print(index, value)
輸出:
0 apple
1 banana
2 cherry
指定起始索引
for index, value in enumerate(fruits, start=1):print(index, value)
輸出
1 apple
2 banana
3 cherry
實際應用場景
需要索引的循環
for i, item in enumerate(['a', 'b', 'c']):print(f"第{i+1}個元素是{item}")
輸出
第1個元素是a
第2個元素是b
第3個元素是c
創建字典映射
names = ['Alice', 'Bob', 'Charlie']
name_dict = {i: name for i, name in enumerate(names)}
print(name_dict)
輸出:
{0: 'Alice', 1: 'Bob', 2: 'Charlie'}
處理文件行號
with open('file.txt') as f:for line_num, line in enumerate(f, start=1):print(f"{line_num}: {line.strip()}")
與range(len())對比
傳統方式:
fruits = ['apple', 'banana', 'cherry']
for i in range(len(fruits)):print(i, fruits[i])
使用enumerate更簡潔高效:
for i, fruit in enumerate(fruits):print(i, fruit)
注意事項
1、enumerate返回的是enumerate對象,可以轉換為列表查看:
print(list(enumerate(fruits)))
輸出
[(0, 'apple'), (1, 'banana'), (2, 'cherry')]
2、在Python中,enumerate比手動維護計數器更Pythonic(更符合Python風格)
3、對于大型迭代,enumerate不會顯著增加內存消耗,因為它也是惰性求值的