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

时间:2022-09-13 20:26:32

如下所示:

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

右移比较简单

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

左移

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

#左移

?
1
2
3
for i in range(a):
  b = A.pop(0)
  A.append(b)

列表双向队列

?
1
2
3
4
5
6
7
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 列表元素循环移位

定义函数,完成如下功能: 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。函数包括3个参数,分别是整数列表、数字个数、移动次数。

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

以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。

原文链接:https://blog.csdn.net/super_little_newbie/article/details/84637246