我需要这个来反转列表中的内容,无论它在运行时是否有数字或单词,它都会打印None
。我需要它来打印反转列表。有人可以帮忙吗?
def func4(x):
print(x.reverse())
return;
e = ['baby','egg','chicken']
func4(e)
答案 0 :(得分:5)
您的代码实际上是按预期工作的;它反转列表就好了。它打印None
的原因是因为list.reverse
是一个始终返回None
的就地方法。
因此,您应该在自己的行上调用reverse
:
def func4(x):
x.reverse()
print(x)
e = ['baby','egg','chicken']
func4(e)
现在,print
将打印反转列表,而不是None
返回的reverse
。
请注意,同样的原则适用于list.append
,list.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)