老实说,我只是不明白为什么这是返回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
您将看到您的列表已被修改。
L.reverse()
就地修改 L。作为一般规则,Python 内置方法要么会发生变异,要么会返回一些东西,但不会两者兼而有之
反转列表的常用方法是使用
print L[::-1]
reversed(L)
返回 alistreverseiterator object
可以很好地迭代,但如果你真的想要一个列表,那就不太好
[::-1]
只是一个普通的切片- 步骤是-1
让您从结尾开始并以开头结尾
文档说
list.reverse() :原地反转列表的元素。
in place意味着原始列表被更改,而不是返回一个新列表,所以你要求它打印的返回是None
.