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 个回答
4
我知道这样做有点奇怪,但确实有效:
a = [1,2,3]
b = list(a)
b.extend([4,5])
54
在Python中,+
这个符号被用来连接列表,也就是说它可以把两个列表合并在一起。那么,下面的代码会怎么样呢:
>>> li = [1, 2, 3, 4]
>>> new_list = li + [5, 6, 7]
>>> new_list
[1, 2, 3, 4, 5, 6, 7]