如下所示:
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个参数,分别是整数列表、数字个数、移动次数。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持服务器之家。如有错误或未考虑完全的地方,望不吝赐教。
原文链接:https://blog.csdn.net/super_little_newbie/article/details/84637246