0

我需要知道为什么以下两个代码块返回不同的输出。我有:

somelist = ['foo', 'bar']
somelist.append('baz')
print somelist

['foo', 'bar', 'baz']按预期打印。然而,

print ['foo', 'bar'].append('baz')

打印None。提前致谢!

编辑:谢谢大家。有没有办法在一行代码中使用append函数和命令?print

4

2 回答 2

2

.appendon a list会改变列表。由于它正在改变列表,python 采用函数应该返回的约定,None以明确表明函数的目的是更改它的参数(在这种情况下,方法绑定到的列表实例绑定)。

于 2013-02-23T02:03:54.677 回答
2

list.append是一个就地操作,这意味着它返回None,但它会改变实际列表本身。

于 2013-02-23T02:04:10.743 回答