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]

不确定此问题是否特定于该语言以及如何appendPython中实现。

回答:

append是一种变异(破坏性)操作(它会在适当位置修改列表,而不是返回新列表)。进行无损等效的惯用方式append是

l = [1,2,3]

print l + [4] # [1,2,3,4]

print l # [1,2,3]

回答你的问题,我的猜测是,如果append返回新修改的列表,用户可能会认为它是非破坏性的,即他们可能会编写如下代码

m = l.append("a")

n = l.append("b")

并期望n成为[1,2,3,"b"]

以上是 Python-为什么在Python中append()总是返回None? 的全部内容, 来源链接: utcz.com/qa/431545.html

回到顶部