python 多种方法解决 列表元素左右循环移动

#待处理列表
A= [1,2,3,4,5]
#移动次数
a = 3

右移比较简单

for i in range(a):
    A.insert(0,A.pop())

左移

for i in range(a):
    A.insert(len(A),A[0])
    A.remove(A[0])

#左移

for i in range(a):
        b = A.pop(0)
        A.append(b)

列表双向队列

from collections import  deque
aa = deque(A)
#正数表示向右移动,负数表示向左移动
aa.rotate(8)
# aa.rotate(-8)
print(aa) # deque([3, 4, 5, 1, 2])
print(list(aa)) # [3, 4, 5, 1, 2]

你可能感兴趣的:(python)