如何遍历列表直到到达最后一个元素,然后向后遍历直到到达第一个元素,然后重复?
换句话说,如何专门以从第一个和最后一个元素反弹的模式遍历列表?
e.g For a list of length=3
time=1, index=0
time=2, index=1
time=3, index=2
time=4, index=1
time=5, index=0
time=6, index=1
time=7, index=2
请您参考如下方法:
如果你真的从一个列表开始,你可以像这样使用 slice 和 reversed 来反弹它一次:
def bounce(a_list):
yield from a_list
yield from reversed(a_list[1:-1])
for x in bounce([1, 2, 3, 4]):
print(x)
重复弹跳以增加乐趣。
for x in itertools.cycle(bounce([0, 1, 2])):
print(x)
