Python:list.extend没有改变原始变量

时间:2013-03-18 05:16:33

标签: python list extend

我想知道Python中是否有办法使用.extend,但不能更改原始列表。我希望结果看起来像这样:

>> li = [1, 2, 3, 4]  
>> li
[1, 2, 3, 4]  
>> li.extend([5, 6, 7])
[1, 2, 3, 4, 5, 6, 7]  
>> li
[1, 2, 3, 4]  

我尝试用几种不同的方式谷歌,但我找不到正确的词来形容这一点。 Ruby有这样的东西,如果你真的想要改变原始列表,你会做类似的事情:li.extend!([5,6,7])否则它只会给你结果而不会改变原文。 Python中是否存在同样的事情?

谢谢!

2 个答案:

答案 0 :(得分:28)

Python中的+运算符被重载到连接列表,所以如何:

>>> li = [1, 2, 3, 4]
>>> new_list = li + [5, 6, 7]
>>> new_list
[1, 2, 3, 4, 5, 6, 7]

答案 1 :(得分:1)

我知道它很尴尬,但它有效:

a = [1,2,3]
b = list(a)
b.extend([4,5])