Python 为什么列表反向返回空值?
我有如下示例列表:Python 为什么列表反向返回空值?,python,Python,我有如下示例列表: l = [1,2,3] print(l.reverse()) #give None instead [3, 2, 1] 怎么样?我怎样才能取消列表 我怎样才能取消列表 名单正在颠倒。但是list.reverse就地反转,不向调用者返回任何内容。您可以通过在列表上调用reverse后打印列表来验证这一点: >>> l = [1,2,3] >>> l.reverse() >>> print(l) >>>
l = [1,2,3]
print(l.reverse())
#give None instead [3, 2, 1]
怎么样?我怎样才能取消列表
我怎样才能取消列表
名单正在颠倒。但是list.reverse
就地反转,不向调用者返回任何内容。您可以通过在列表上调用reverse
后打印列表来验证这一点:
>>> l = [1,2,3]
>>> l.reverse()
>>> print(l)
>>> [3, 2, 1]
如果有疑问,请使用帮助:
>>> help(list.reverse)
Help on method_descriptor:
reverse(...)
L.reverse() -- reverse *IN PLACE*
(Python 2.7文档)来自文档:
列表。
反向
将列表中的元素反转到位
您可能已经注意到,仅修改列表的insert
、remove
或sort
等方法没有打印返回值–它们返回默认的None
。这是Python中所有可变数据结构的设计原则
Python不是函数式编程语言,它是必需的。调用list.reverse()
方法时,您正在改变原始列表:
返回None
的方法类似于C/C++/Java世界中的void
函数/方法。由于list.reverse()
改变了原始列表,因此它没有任何有意义的返回,因此返回值是None
正如@YS-L在评论中指出的那样:
在空闲的Python 3.3中尝试过。工作得很好!list.reverse()原地反转列表中的元素。请尝试l[::-1]
制作列表的反转副本。
l = [1,2,3]
l.reverse()
print l
# prints [3, 2, 1]
l = [1,2,3]
print l[::-1]
# prints [3, 2, 1]