跳到主要内容

Python enumerate() 函数

enumerate() 函数为可迭代对象添加计数器并返回它(枚举对象)。

示例

languages = ['Python', 'Java', 'JavaScript']

enumerate_languages = enumerate(languages)

# 将枚举对象转换为列表
print(list(enumerate_languages))

# 输出:[(0, 'Python'), (1, 'Java'), (2, 'JavaScript')]

enumerate() 的语法

enumerate() 的语法是:

enumerate() 参数

enumerate() 函数接受两个参数:

  • iterable - 一个序列、迭代器或支持迭代的对象
  • start(可选)- enumerate() 从这个数字开始计数。如果省略 start,将采用 0 作为起始。

enumerate() 返回值

enumerate() 函数为可迭代对象添加计数器并返回它。返回的对象是一个枚举对象。

您可以使用 list()tuple() 函数分别将枚举对象转换为列表和元组。

示例 1:enumerate() 的工作原理

grocery = ['bread', 'milk', 'butter']
enumerateGrocery = enumerate(grocery)

print(type(enumerateGrocery))

# 转换为列表
print(list(enumerateGrocery))

# 更改默认计数器
enumerateGrocery = enumerate(grocery, 10)
print(list(enumerateGrocery))

输出

<class 'enumerate'>
[(0, 'bread'), (1, 'milk'), (2, 'butter')]
[(10, 'bread'), (11, 'milk'), (12, 'butter')]

示例 2:遍历枚举对象

grocery = ['bread', 'milk', 'butter']

for item in enumerate(grocery):
print(item)

print()

for count, item in enumerate(grocery):
print(count, item)

print()

# 更改默认起始值
for count, item in enumerate(grocery, 100):
print(count, item)

输出

(0, 'bread')
(1, 'milk')
(2, 'butter')

0 bread
1 milk
2 butter

100 bread
101 milk
102 butter