【发布时间】:2019-11-29 01:31:56
【问题描述】:
列表旋转包括获取第一个元素并将其移动到末尾。例如,如果我们旋转列表 [1,2,3,4,5],我们会得到 [2,3,4,5,1]。如果我们再次旋转它,我们会得到 [3,4,5,1,2]。
这里有一些例子来说明你的函数应该如何工作。
rotatelist([1,2,3,4,5],1)
[2, 3, 4, 5, 1]
rotatelist([1,2,3,4,5],3)
[4, 5, 1, 2, 3]
rotatelist([1,2,3,4,5],12)
[3, 4, 5, 1, 2]
我尝试成功编写代码但遇到问题,当我连接列表时,我收到错误:int iterable error 但是当我使用append 程序成功执行时,请解释一下这里的概念是我的python 代码:
def rotatelist(l,k):
if k<0:
return l
new_list=l[::]
while k>0:
temp=new_list[0]
new_list=new_list[1:]
new_list=new_list+list(temp)
k-=1
return new_list
【问题讨论】:
-
list将一个可迭代对象作为参数,而您将传递给它一个int。您应该写[temp]而不是list(temp),以便获取包含此唯一值的列表。