当代码抛出IndexError时,我希望数组循环。
这是示例:
a = [1, 2, 3, 4, 5]
a[x] -> output
0 -> 1
1 -> 2
...
4 -> 5
after except IndexError
5 -> 1
6 -> 2
...
9 -> 5
10 -> IndexError (Should be 1)
我的代码可以工作,但是当pos> 9时,它仍会引发IndexError。
pos = 5
try:
a = [1, 2, 3, 4, 5]
print(a[pos])
except IndexError:
print(a[pos - len(a)])
最佳答案
如果需要循环迭代器,请使用itertools.cycle
。如果在索引时只需要循环行为,则可以使用基于模的索引。
In [20]: a = [1, 2, 3, 4, 5]
In [21]: pos = 9
In [22]: a[pos % len(a)]
Out[22]: 5
关于python - 出现IndexError时使数组重复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51238307/