python使用运算符实现列表扩展

方式一:使用+ 将加号两边的列表进行拼接得到一个新的列表(重新分配的内存空间)

listA=[1,2,3]
listB=[4,5,6,7]
print(listA,"addr:0x%x"%id(listA))
print(listB,"addr:0x%x"%id(listB))
listC=listA+listB#拼接结果存放在重新分配内存空间中
print(listC,"addr:0x%x"%id(listC))

输出

[1,2,3]addr:0x1be35d25208
[4,5,6,7]addr:0x1be35d25408
[1,2,3,4,5,6,7]addr:0x1be35e5a908

方式二:使用+=将+=右边的列表追加到左边的列表,原地址空间首地址保持不变

listA=[1,2,3]
listB=[4,5,6,7]
print(listA,"addr:0x%x"%id(listA))
print(listB,"addr:0x%x"%id(listB))
listA+=listB#在原有listA的空间后追加listB的所有成员
print(listA,"addr:0x%x"%id(listA))
[1,2,3]addr:0x1f24ab351c8
[4,5,6,7]addr:0x1f24ab353c8
[1,2,3,4,5,6,7]addr:0x1f24ab351c8