在 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 2.7.3 中将 csv 文件附加到一个空列表中 - 获取一个空列表