【问题标题】:Trying to append a list in its own list... what happens?试图在自己的列表中附加一个列表......会发生什么?
【发布时间】:2013-10-06 08:44:30
【问题描述】:
list1 = ['inception', 'dream', 'movie']
list2 = list1
list1.append(list2)
list1

如果我在终端上运行这段代码,

['inception', 'dream', 'movie',[...]]

是输出。如果我将一个列表附加到它自己的列表中会发生什么?

【问题讨论】:

    标签: python list python-3.x


    【解决方案1】:

    列表元素只是对其他 Python 值的引用。您已经在列表中存储了对列表本身的引用。

    列表表示反映了这一点; Python 不会抛出错误或用同一列表的无限嵌套表示填充终端,而是显示 [...] 以指示递归结构。

    这同样适用于字典:

    >>> d = {}
    >>> d['d'] = d
    >>> d
    {'d': {...}}
    

    或任何标准容器类型的组合。它不仅限于一个级别或单个参考:

    >>> l = ['foo', 'bar', {}]
    >>> l[-1]['spam'] = l
    >>> l[-1]['eggs'] = l
    >>> l
    ['foo', 'bar', {'eggs': [...], 'spam': [...]}]
    

    [...] 或 {...} 引用只是表明打印内容会导致递归。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-23
      • 1970-01-01
      • 2021-03-10
      • 2015-01-11
      • 2015-04-26
      • 1970-01-01
      • 2011-10-14
      • 2011-07-07
      相关资源
      最近更新 更多