enumerate() 是一个 Python 内置函数,用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。

enumerate()函数可以简化程序代码,对可迭代对象使用索引非常有用。在了解 enumerate() 的功能之前,我们先看看使用 Python for 循环访问列表的方法。

Python for 循环访问列表

假设我们有一个列表,需要输出列表中每个元素及索引。可以用以下几种方式实现。

citys = ["jinan", "qingdao", "yantai", "zibo"]
index = 0
for city in citys:
print(index, city)
index += 1
citys = ["jinan", "qingdao", "yantai", "zibo"]
for index in range(len(citys)):
print(index, citys[index])
# 输出:
0 jinan
1 qingdao
2 yantai
3 zibo

使用 enumerate() 访问列表

在Python中使用 enumerate() 函数可以更好地实现输出列表元素及索引。

「语法格式:」

enumerate(sequence, [start=0])

「参数」

sequence -- 一个序列、迭代器或其他支持迭代的对象。

start -- 下标起始位置的值。

「返回值」

返回 enumerate(枚举) 对象。

citys = ["jinan", "qingdao", "yantai", "zibo"]
enumeratedCitys = enumerate(citys)
print(list(enumeratedCitys))
# 输出:
[(0, 'Italy'), (1, 'Greece'), (2, 'United Kingdom'), (3, 'Belgium')]

上面的示例,输出一个包含元组的列表,其中每个元组的第一个元素是索引,第二个元素是列表的元素。因此,枚举会自动跟踪列表中每个元素的索引,我们可以使用for循环方便的输出列表元素及其索引。

citys = ["jinan", "qingdao", "yantai", "zibo"]
for city in enumerate(citys):
print(city)
# 输出:
(0, 'jinan')
(1, 'qingdao')
(2, 'yantai')
(3, 'zibo')

或者:

citys = ["jinan", "qingdao", "yantai", "zibo"]
for index,city in enumerate(citys):
print(index,city)
# 输出:
0 jinan
1 qingdao
2 yantai
3 zibo

enumerate() 还接受第二个参数(可选),该参数允许决定索引从哪个数字开始。如果可选的 start 参数不存在,则默认情况下索引从 0 开始。

citys = ["jinan", "qingdao", "yantai", "zibo"]
for index,city in enumerate(citys,101):
print(index,city)
# 输出:
101 jinan
102 qingdao
103 yantai
104 zibo

除了列表,enumerate() 还可以枚举字符串、元组、集合和字典的可迭代对象。

文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!

举报/反馈

信息科技云课堂

6581获赞 2849粉丝
专注信息科技教学,分享最新技术资源!
科技领域创作者
关注
0
0
收藏
分享