如下所示:
#待处理列表 A= [1,2,3,4,5] #移动次数 a = 3
右移比较简单
for i in range(a): A.insert(0,A.pop())
左移
for i in ranghttp://www.cppcns.come(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)) # [ eFcCPRlYts 3, 4, 5, 1, 2]
补充:python 列表元素 编程客栈 循环移位
定义函数,完成如 eFcCPRlYts 下功能: 有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数。函数包括3个参数,分别是整数列表、数字个数、移动次数。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。
查看更多关于python 列表元素左右循环移动 的多种解决方案的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did163186