【问题标题】:Cannot append list to a list? [duplicate]无法将列表附加到列表? [复制]
【发布时间】:2013-09-25 03:04:00
【问题描述】:

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

所以我有段时间没碰它,今天在玩 Python,发现下面的 sn-p 代码不起作用:

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

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

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

【问题讨论】:

  • 看起来你想要list3 = list1 + list2
  • 我同意@JonClements -- 如果你想修改list1 in-place,那么你可以使用extend: list1.extend(list2)。这里的好处是list2 不必是一个列表——任何可迭代的都可以。缺点是你刚刚改了list1
  • 实际上有几十个关于如何连接列表的问题。

标签: python list python-2.7


【解决方案1】:

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()+,具体取决于您的用例。

【讨论】:

    【解决方案2】:

    list1.append(list2) 修改list1 并返回None,所以list3NoneNone 是语句的结果时,不会以交互模式打印。

    【讨论】:

      【解决方案3】:

      此外,为了连接您可以执行的列表:

      list3 = list1 + list2
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-08-05
        • 2022-10-24
        • 2018-10-12
        • 2017-02-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多