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]
不确定此问题是否特定于该语言以及如何append
在Python
中实现。
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"]