在迭代列表中的所有元素时,我想在遇到特定元素时跳过后面的两个元素,例如:l1 = ["a", "b", "c", "d", "e", "f"]for index, element in enumerate(l1): if element == "b": index = index + 2 else: print(index, element)0 a2 c3 d4 e5 f
2 回答

神不在的星期二
TA贡献1963条经验 获得超6个赞
更改索引不会起作用,因为它是由枚举迭代器创建的。您可以next()自己调用迭代器:
l1 = ["a", "b", "c", "d", "e", "f"]
iter = enumerate(l1)
for index, element in iter:
if element == "b":
next(iter, None) # None avoids error if b is at the end
else:
print(index, element)
0 a
3 d
4 e
5 f

12345678_0001
TA贡献1802条经验 获得超5个赞
l1 = ["a", "b", "c", "d", "e", "f"]
index = 0
while index < len(l1):
if l1[index] == "b":
index += 2
else:
print(index, l1[index])
index += 1
0 a
3 d
4 e
5 f
可以使用while循环。index += 1如果你想要 2 c
添加回答
举报
0/150
提交
取消