python中如何使两个序列相加不改变内存地址的几种方式

# 方式1
a = [1,2,3]
print(a) # 4551311680
a.extend([4,5])
print(a) # 4551311680

# 方式2
b = [1,2,3]
print(b) # 4494299456
b += [4,5,6]
print(b) # 4494299456

# 重点讲解方式2
+=的方式是因为内部实现了__iadd__()魔法方法,内部行为类似于a.extend(b)。但是要区别于b = b + [4,5,6]这种,这种方式的内存地址是不一样的。
posted @ 2023-05-03 23:39  我在路上回头看  阅读(20)  评论(0编辑  收藏  举报