在 Python 中将列表附加到自身

Posted

技术标签:

【中文标题】在 Python 中将列表附加到自身【英文标题】:Appending a list to itself in Python 【发布时间】:2011-10-11 05:38:07 【问题描述】:

我想给自己附加一个列表,我认为这会起作用:

x = [1,2]
y = x.extend(x)
print y

我想找回[1,2,1,2],但我得到的只是内置的None。我究竟做错了什么?我正在使用 Python v2.6

【问题讨论】:

【参考方案1】:

x.extend(x) 不返回新副本,它会修改列表本身。

只需打印x

你也可以选择x + x

【讨论】:

【参考方案2】:

x.extend(x) 就地修改x

如果您想要一个新的、不同的列表,请使用y = x + x

【讨论】:

【参考方案3】:

或者只是:

x = [1,2]
y = x * 2
print y

【讨论】:

您正在创建[x, x],如果x 的一个元素发生变化,y 的另一个索引也会发生变化:***.com/questions/240178/… @Schorsch 对于[x] * 2 是这样,它等价于[x] + [x]。但是,x * 2 等效于 x + x,在这种情况下会创建一个“浅”值列表。【参考方案4】:

x.extend(x) 将就地扩展 x。

>>> print x

[1, 2, 1, 2]

【讨论】:

【参考方案5】:

如果您想要列表的新副本,请尝试:

x = [1,2]
y = x + x
print y # prints [1,2,1,2]

不同之处在于extend“就地”修改了列表,这意味着即使修改了列表,它也会始终返回None

【讨论】:

以上是关于在 Python 中将列表附加到自身的主要内容,如果未能解决你的问题,请参考以下文章

在 Python 中将多个变量附加到列表中

在 Python 2.7.3 中将 csv 文件附加到一个空列表中 - 获取一个空列表

在 Numpy Python 中将一维数组附加到二维数组

如何在for循环中将数据附加到空列表?

如何在 Discord Py 中将列表附加并保存到另一个文件中?

如何在循环中将不同大小的列表附加到空熊猫数据框的每一列?