前几天碰到一家实习公司的笔试,有一个题目的算法之一就是要求列表往左移以及往右移,当时时间急,脑子一大就没写出来,之后无聊想了10分钟做完了,现在分享出来。
for i in range(a):###右移
A.insert(0,A.pop())
其中A为你的原始列表,a为你移动的数量。
for i in range(a):##左移
A.insert(len(A),A[0])
A.remove(A[0])
其中A为你的原始列表,a为你移动的数量。
我们下面以A = [1,2,3,4,5],a = 3 运行结果为:
[3, 4, 5, 1, 2]
[1, 2, 3, 4, 5]
可以看到先往右移动3个,然后左移3个。