Python list.reverse()不起作用
老实说,我不明白为什么返回的是Python list.reverse()不起作用,python,list,reverse,Python,List,Reverse,老实说,我不明白为什么返回的是None,而不是相反的列表: >>> l = range(10) >>> print l [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> print l.reverse() None 为什么会这样?根据,我没有做错任何事。reverse修改列表并返回None。如果你这样做 l.reverse() print l 您将看到您的列表已被修改。list.reverse()在适当的位置反转列表。
None
,而不是相反的列表:
>>> l = range(10)
>>> print l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print l.reverse()
None
为什么会这样?根据,我没有做错任何事。
reverse
修改列表并返回None
。如果你这样做
l.reverse()
print l
您将看到您的列表已被修改。list.reverse()
在适当的位置反转列表。它不会返回反向列表。为此,请使用以下函数:
print reversed(l)
或者只使用扩展切片表示法:
print l[::-1]
L.reverse()
在位修改L。一般来说,Python内置方法要么变异,要么返回某些内容,但不能同时返回这两种内容
反转列表的常用方法是使用
print L[::-1]
reversed(L)
返回一个listreverseiterator对象
,该对象可以进行迭代,但如果您确实想要一个列表,则不太好
[::-1]
只是一个-步骤是-1
,所以你会得到一份从结尾开始到开头的副本
list.reverse():在位反转列表中的元素
就地意味着原始列表被更改,而不是返回一个新列表,因此您要求它打印的返回值是
None
当然可以,但是不只是返回列表而不是None
的原因是什么?因为它只是一个参考而不是列表的副本,所以不会太贵。。。