This question already has answers here:
Unable to reverse lists in Python, getting “Nonetype” as list
(3 个回答)
5年前关闭。
我使用了两种不同的方法来创建反向列表。
第一种方式:
第二种方式:
为什么第二种方式不起作用?感谢您的帮助。
当您捕获
在你的第二个例子中
在临时列表上调用
(3 个回答)
5年前关闭。
我使用了两种不同的方法来创建反向列表。
第一种方式:
>>> a=list(range(3))
>>> a.reverse()
>>> print(a)
[2,1,0]
第二种方式:
>>> a=list(range(3)).reverse()
>>> print(a)
None
为什么第二种方式不起作用?感谢您的帮助。
最佳答案
它失败是因为 reverse
就地更改了列表(即它不创建新列表),并且与大多数就地操作的函数一样,它返回 None
。
在你的第一个例子中
a=list(range(3))
a.reverse()
print a
当您捕获
a
作为 list(range(3))
的返回值时,它工作正常,它返回 list
。然后,您可以原地反转该列表并打印出来。一切都好!在你的第二个例子中
a=list(range(3)).reverse()
print(a)
a
等于 reverse()
的返回值(不是 list(range(3))
)。在临时列表上调用
reverse
并返回 None
,这是分配给 a
的值。关于python - Python中reverse()的用法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30746251/
10-12 23:15