python 对列表类进行+=操作的微妙差异

对列表类进行+=操作,如下代码所示:

a = [1,2,3]
b = a
b += [4,5]
b = b + [6,7]
print(a)
print(b)

输出结果为:
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6, 7]
这个例子就展现了b += foo与b = b + foo在列表语义方面的微妙差异。b += [4,5]的意思是用另外两个元素4,5扩展原始列表,b = b + [6,7]的意思是重新分配b到一个新的列表[1,2,3,4,5,6,7],所以a为[1, 2, 3, 4, 5],b为[1, 2, 3, 4, 5, 6, 7]

猜你喜欢

转载自blog.csdn.net/qq_34124009/article/details/107957367