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,我不确定这个问题是否特定于语言以及如何在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”]