主要用到enumerate()函数。此函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,同时列出数据和数据下标,一般用在 for 循环当中
基本用法 enumerate(sequence, [start=0])
# 参数
# sequence -- 一个序列、迭代器或其他支持迭代对象。
# start -- 下标起始位置。
data = ['a', 'b', 'c', 'd']
print(list(enumerate(data))) # 默认下标从 0 开始
print(list(enumerate(data, start=1))) # 下标从 1 开始
输出如下
[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]
[(1, 'a'), (2, 'b'), (3, 'c'), (4, 'd')]
有以上基础后,指定元素的所有下标,代码如下
data = ['a', 'b', 'c', 'd', 'b', 'b']
print([i for i, x in enumerate(data) if x is "b"])
输出如下:
[1, 4, 5]
如果想获取第一个元素的下标,代码如下
print(data.index("b"))
输出如下:
1