关于列表追加的Python结果说明

关于列表追加的Python结果说明,python,list,append,Python,List,Append,当我尝试Python时,我遇到了一些奇怪的事情: a = [[1,2], [3,4]] b = [x.append(5) for x in a] 结果是b是[None,None]而不是[1,2,5],[3,4,5]。我认为这与事实列表是可变的有关,但不太确定在这种情况下到底发生了什么。你们谁能解释一下吗?谢谢。追加始终返回无;您仅因其对对象的副作用而调用它(在本例中为x)。list.append返回None。您可以自己检查:print([].append(3))注意,标准库中可变类型的按约定

当我尝试Python时,我遇到了一些奇怪的事情:

a = [[1,2], [3,4]]

b = [x.append(5) for x in a]

结果是
b
[None,None]
而不是
[1,2,5],[3,4,5]
。我认为这与事实列表是可变的有关,但不太确定在这种情况下到底发生了什么。你们谁能解释一下吗?谢谢。

追加
始终返回
;您仅因其对对象的副作用而调用它(在本例中为
x
)。

list.append
返回
None
。您可以自己检查:
print([].append(3))
注意,标准库中可变类型的按约定mutator方法不会返回
None
,但这不是语言保证,甚至不是严格的约定,注意
my_list.pop()
是一种mutator方法,它不会返回
None