Skip to main content
 首页 » 编程设计

python之如何遍历列表直到到达最后一个元素,然后向后遍历它直到到达第一个元素,然后重复

2025年05月04日21落叶无声

如何遍历列表直到到达最后一个元素,然后向后遍历直到到达第一个元素,然后重复?

换句话说,如何专门以从第一个和最后一个元素反弹的模式遍历列表?

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)