无法将列表附加到列表中?

时间:2013-09-19 20:50:59

标签: python list python-2.7

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

所以我在没有触及它的情况下今天玩Python,我发现下面的代码段不起作用:

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

为什么最后一行不会产生任何结果?

此外,我正在使用Python 2.7.3,如果这有任何区别

3 个答案:

答案 0 :(得分:8)

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

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

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

作为备注,您可能实际上需要list.extend()+,具体取决于您的使用案例。

答案 1 :(得分:5)

list1.append(list2)修改list1并返回None,因此list3None。当None是声明的结果时,它不会以交互模式打印。

答案 2 :(得分:5)

此外,为了连接列表,您可以这样做:

list3 = list1 + list2