颠倒列表的顺序

时间:2014-12-08 01:54:53

标签: python list reverse

我需要这个来反转列表中的内容,无论它在运行时是否有数字或单词,它都会打印None。我需要它来打印反转列表。有人可以帮忙吗?

def func4(x):
    print(x.reverse())
    return;
e = ['baby','egg','chicken']
func4(e)

4 个答案:

答案 0 :(得分:5)

您的代码实际上是按预期工作的;它反转列表就好了。它打印None的原因是因为list.reverse是一个始终返回None的就地方法。

因此,您应该在自己的行上调用reverse

def func4(x):
    x.reverse()
    print(x)
e = ['baby','egg','chicken']
func4(e)

现在,print将打印反转列表,而不是None返回的reverse

请注意,同样的原则适用于list.appendlist.extend,以及几乎所有其他在Python中改变对象的方法。

此外,我从函数末尾删除了return语句,因为它没有做任何有用的事情。默认情况下,Python函数已经返回None,因此没有理由明确地这样做。

答案 1 :(得分:3)

你可以切片:

e = ['baby','egg','chicken']
f = e[::-1]
print(f)

答案 2 :(得分:2)

x.reverse()没有返回反转列表,它只是反转它。在撤消之后,您需要单独调用print(x)

答案 3 :(得分:1)

使用“反向”功能的简单方法:

for str in reversed(e):
    print(str)