向左旋转数组

时间:2020-06-12 05:40:51

标签: python arrays python-3.x list

我正在尝试使用以下函数旋转数组:

def rotLeft(a,d):
    temp=[]
    temp.append(a[0:-1])
    temp.insert(0,a[-1])
    return temp

我应该将输出显示为5 1 2 3 4

但是我得到5,[1,2,3,4]

如何解决这个问题

2 个答案:

答案 0 :(得分:0)

您必须使用Use .extend()代替.append(),因为.append().insert()用于添加元素,而.extend()用于合并两个列表: >

def rotLeft(a,d):
    temp=[]
    temp.extend(a[0:-1])
    temp.insert(0,a[-1])
    return temp

print(rotLeft([1,2,3,4,5], 1))

输出:

[5, 1, 2, 3, 4]

答案 1 :(得分:0)

您需要使用temp.extend,而不是temp.append。后者仅向temp添加一个元素,即列表[1,2,3,4]-这就是为什么最终得到嵌套列表的原因。另一方面,extend的工作就像将[1,2,3,4]中的每个元素附加到temp上一样。