为什么在Python中append()总是返回None? [英] Why does append() always return None in Python?
本文介绍了为什么在Python中append()总是返回None?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
list = [1, 2, 3]
print list.append(4) ## WRONG, print does not work, append() returns None
## RIGHT:
list.append(4)
print list ## [1, 2, 3, 4]
我正在学习Python,但不确定此问题是否专门针对该语言以及append
如何在Python中实现.
I'm learning Python and I'm not sure if this problem is specific to the language and how append
is implemented in Python.
推荐答案
append
是一种变异(破坏性)操作(它会修改列表而不是返回新列表).进行append
的无损等效的惯用方式是
append
is a mutating (destructive) operation (it modifies the list in place instead of of returning a new list). The idiomatic way to do the non-destructive equivalent of append
would be
l = [1,2,3]
print l + [4] # [1,2,3,4]
print l # [1,2,3]
回答您的问题,我的猜测是,如果append
返回了新修改的列表,用户可能会认为它是非破坏性的,即他们可能会编写类似
to answer your question, my guess is that if append
returned the newly modified list, users might think that it was non-destructive, ie they might write code like
m = l.append("a")
n = l.append("b")
并期望n
为[1,2,3,"b"]
这篇关于为什么在Python中append()总是返回None?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文