这是一个非常简单的问题,但我似乎无法理解为什么我没有得到它。
def listindex():
li = ['a', 'e', 'a', 'd', 'b', 'a', 'e']
for x in li:
if x == 'a':
print(li.index(x))
结果:
0
0
0
预期结果:
0
2
5
虽然它迭代了所有项目但我只得到第一项索引,为什么呢?即使它非常简单,也建议。
答案 0 :(得分:6)
browser.executeScript( 'localStorage.setItem("groups", "[\\"lunch\\"]");');
仅返回第一个元素的索引。来自docs
返回值为x的第一个项目列表中的索引。如果没有这样的项目,则会出错。
请改用enumerate
。当您使用枚举进行迭代时,您可以在循环上访问元素及其索引:
index
答案 1 :(得分:1)
li = ['a', 'e', 'a', 'd', 'b', 'a', 'e']
使用列表理解:
[i for i, x in enumerate(li) if x=='a']
输出:[0, 2, 5]
答案 2 :(得分:0)
使用关键字enumerate(),这将生成一个从0到N的计数器。
for i, x in enumerate(li):
因此i
将包含li
的索引。