如下所示:
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