描述
enumerate() 函数用于将一个可遍历的数据对象(如列表、元组或字符串)变为一个索引序列,同时返回数据和数据下标,一般用在 for 循环当中。
语法
以下是 enumerate() 方法的语法:
enumerate(sequence, [start=0])
参数
- sequence -- 一个序列、迭代器或其他支持迭代对象。
- start -- 下标起始位置。
返回值
返回 enumerate(枚举) 对象。可通过for循环列出下标和对象中的元素
实例:
以下展示了使用 enumerate() 方法的实例:
seasons = ['Spring', 'Summer', 'Fall', 'Winter']
list(enumerate(seasons))
[(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
list(enumerate(seasons, start=1)) # 下标从 1 开始
[(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
可以通过 list(enumerate(iteration)) 来看iteration中到底有多少元素,例如 list(enumerate(dataloader)) 来看dataloader中有多少迭代对象
for 循环使用 enumerate 示例1:
seq = ['one', 'two', 'three']
for temp in enumerate(seq):
print(temp)
(0, 'one')
(1, 'two')
(2, 'three')
for 循环使用 enumerate示例2:
seq = ['one', 'two', 'three']
for i, element in enumerate(seq, start=4):
print(i)
print(element)
4
one
5
two
6
three
用在for循环中,例如上述的for i, element in enumerate(seq,start=4): 其中i代表的是从start开始每次+1,element代表该索引对应的元素