为什么追加不起作用,通过参考传递?

时间:2017-12-05 14:45:12

标签: python

我写了以下代码

a = [1,2,3]
b = a.append(4)

为什么b内没有任何内容?

3 个答案:

答案 0 :(得分:5)

因为append没有返回修改后的列表 - 它只是添加新元素,就地修改列表并返回None。要获得您想要的效果,请改为:

b = a + [4]

请注意,上面创建了一个新列表,而使用append修改了相同的列表。

答案 1 :(得分:0)

我不是100%确定你想要b的值是什么。但是这就是运行代码时的情况。

b的值为None,因为它是方法的返回值(.append()) 每个方法都会返回一个值。在这种情况下,它是None,因为a.append(4)附加到数组a。返回值意味着SIMPLY返回一个值。这不需要值。

答案 2 :(得分:0)

追加返回无,这就是为什么b中没有任何内容。您的列表a将被修改并添加4.

如果您真的想在b中添加4,那么您可以尝试+ [4]