无法在Python中反转列表

时间:2018-03-31 15:08:13

标签: python python-3.x

我尝试了几种方法,由于某些原因,我无法撤消此列表。这是我的代码:

array = []
elements = str(input().split())
array.append(elements)
array.reverse()
print(array)

这只是返回原始列表。 array[::-1]做同样的事情。 reversed函数输出<list_reverseiterator object at 0x05AC1550>。我怎么能这样做?

4 个答案:

答案 0 :(得分:5)

您正在接受输入,然后将其拆分,然后再将其转换为字符串。 如果你想将输入分成一个List然后反转它,你应该试试这个:

array = []
elements = input().split()
print(elements)
elements.reverse()
print(elements)

答案 1 :(得分:2)

请先查看@Bishakh Ghosh的回答。至于为什么你的代码不起作用:

elements是一个数组(列表)。您append将其array视为:{/ p>

array = [[element1, element2, etc ]]

array(列表)的array(列表)。你实际上需要这样做:

array += elements

现在array会有:

array = [element1, element2, etc]

这将按预期工作。比你的代码更短的方式是:

print(input().split()[::-1])

答案 2 :(得分:0)

在您的代码中Assert.That(resp.ToString, Is.EqualTo("OK")); 被实例化为空列表。此外,array会创建项目列表,但您需要在elements = str(input().split())方法中指定分隔符,即splitsplit("")。因此,您将一个东西列表(可能是一个空列表)附加到空列表中。就像Bishakh说的那样,不要将数组转换为自身的字符串版本,这就是为什么你要获得一个内存位置(因为你的编译器将数组视为字符串对象而不是数组)。

尝试类似

的内容
split(" ")

答案 3 :(得分:0)

分配结果:

array = array[::-1]