【发布时间】:2011-01-11 04:35:35
【问题描述】:
li = [0, 1, 2, 3]
running = True
while running:
for elem in li:
thiselem = elem
nextelem = li[li.index(elem)+1]
当它到达最后一个元素时,会引发IndexError(对于任何迭代的列表、元组、字典或字符串都是如此)。我实际上希望nextelem 等于li[0]。我对此相当麻烦的解决方案是
while running:
for elem in li:
thiselem = elem
nextelem = li[li.index(elem)-len(li)+1] # negative index
有更好的方法吗?
【问题讨论】:
-
考虑省略 while 循环。这似乎与问题无关。如果相关,请考虑解释原因。
-
我想无限期地循环遍历一个列表,因此是 while/for 循环组合。抱歉,没有解释。
-
我假设您也希望能够在周期的中间而不是结束时停止?
-
是的。我确定我可以使用
break。
标签: python list iteration next