在Python中将列表附加到自身

在Python中将列表附加到自身,python,list,append,Python,List,Append,我想给自己附上一份清单,我想这会有用的: x = [1,2] y = x.extend(x) print y 我想找回[1,2,1,2],但我得到的只是内置的无。我做错了什么?我使用的是Python v2.6x.extend(x)不会返回新副本,它会修改列表本身 只需打印x 您也可以使用x+xx。extend(x)将在适当位置扩展x >>> print x [1, 2, 1, 2] x.extend(x)就地修改x 如果您想要一个新的、不同的列表,请使用y=x+x如果您想

我想给自己附上一份清单,我想这会有用的:

x = [1,2]
y = x.extend(x)
print y
我想找回
[1,2,1,2]
,但我得到的只是内置的
。我做错了什么?我使用的是Python v2.6

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

只需打印
x

您也可以使用
x+x

x。extend(x)将在适当位置扩展x

>>> print x

[1, 2, 1, 2]
x.extend(x)
就地修改
x


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

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

x = [1,2]
y = x + x
print y # prints [1,2,1,2]
区别在于
extend
修改列表“就地”,这意味着即使列表被修改,它也将始终返回
None

或仅:

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

您正在创建
[x,x]
,如果
x
中的一个元素发生变化,它将在
y
的另一个索引中也发生变化:@Schorsch这对于
[x]*2
是正确的,它相当于
[x]+[x]
。但是,
x*2
相当于
x+x
,它在这种情况下创建了一个“浅”值列表。