【问题标题】:Python extend with an empty list bug? [duplicate]Python 扩展了一个空列表错误? [复制]
【发布时间】:2010-10-07 16:14:47
【问题描述】:

为什么python 2.5.2会有如下行为

>>>[2].extend([]) == [2]
False

>>> [2].extend([]) == None
True

$ python --version
Python 2.5.2

我假设我在这里不理解某些东西,但直觉上我认为 [2].extend([]) 应该产生 [2]

【问题讨论】:

  • 有翻译谁需要直觉?只需print [2].extend([])

标签: python list extend


【解决方案1】:

Extend 是一种列表方法,它修改它但不返回self(而是返回None)。如果需要修改后的值作为表达式值,使用+,如[2]+[]

【讨论】:

    【解决方案2】:

    没错。

    >>> x = [2]
    >>> x.extend([]) # Nothing is printed because the return value is None
    >>> x == [2]
    True
    >>> x
    [2]
    

    他们这样做是为了让您记住扩展函数实际上是在原地修改列表。与 sort() 相同。它总是返回 None。

    【讨论】:

      猜你喜欢
      • 2019-01-28
      • 2019-10-22
      • 2016-12-24
      • 2015-03-02
      • 1970-01-01
      • 2019-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多