首页 > 解决方案 > 迭代python循环直到上一个位置的有效方法

问题描述

我有一个列表a,我需要从位置 2 迭代到之前的位置 1。

# old index - 0 1 2 3 4

a = [1,2,3,4,5]

# new index - 2,3,4,0,1
# new value - 3,4,5,1,2
cnt = 0 
while True:
    for i in range(2,len(a)):
        print(a[i])

    for i in range(len(a)-2-1):
        print(a[i])

    break

我正在使用 2 for 循环,但我相信应该有更好的方法来做到这一点。

标签: pythonlistfor-loop

解决方案


您可以创建一个新列表,组合特定值之后和特定值之前的元素,假设3您的情况:

a = [1, 2, 3, 4, 5]
piv = a.index(3)
print(a[piv:] + a[:piv])

这给了你[3, 4, 5, 1, 2]


推荐阅读