enumerate() 是一个 Python 内置函数,用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中。
enumerate()函数可以简化程序代码,对可迭代对象使用索引非常有用。在了解 enumerate() 的功能之前,我们先看看使用 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
在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() 还可以枚举字符串、元组、集合和字典的可迭代对象。
❝文章创作不易,如果您喜欢这篇文章,请关注、点赞并分享给朋友。如有意见和建议,请在评论中反馈!
❞