-1

我在 StackOverflow 上的其他地方找不到这个问题,或者我的研究技能不够先进,所以我现在问:

所以我在一段时间没有接触它之后今天正在玩 Python,我发现以下代码片段不起作用:

>>> list1 = [1,2,3]
>>> list2 = [4,5,6]
>>> list3 = list1.append(list2)
>>> list3

为什么最后一行没有产生任何结果?

另外,我使用的是 Python 2.7.3,如果这有什么不同的话

4

3 回答 3

9

list.append()就地操作- 它修改调用它的列表,并返回None.

>>> list1 = [1,2,3]
>>> list2 = [4,5,6]
>>> list1.append(list2)
>>> list1
[1, 2, 3, [4, 5, 6]]

因此,当您将返回值分配给list3, list3isNone时,交互式 shell 不会像其他结果一样隐式打印出来。

请注意,您可能实际上需要list.extend()or +,具体取决于您的用例。

于 2013-09-19T20:52:11.180 回答
5

list1.append(list2)修改list1并返回None,也是list3如此NoneNone当它是语句的结果时,不会以交互模式打印。

于 2013-09-19T20:52:16.557 回答
5

此外,为了连接列表,您可以执行以下操作:

list3 = list1 + list2
于 2013-09-19T20:55:02.557 回答