欢迎光临散文网 会员登陆 & 注册

Python中给切片赋值

2023-05-06 09:30 作者:软心硬糖  | 我要投稿

提问:

a = a + n和 a += n竟然有区别,能深入讲一讲吗?

from copy import deepcopy


a = [1, 2, 3]

c = deepcopy(a)

b = a

a = a + [4, 5, 6]

print(f"{a = }")

print(f"{b = }")


d = c

c += [4, 5, 6]

print(f"{c = }")

print(f"{d = }")


因为a这个列表是可变类型的对象,改变了ac,按理说同一引用的bd会跟着改变,为什么会有区别,+=等同extend的效果,而 +不是。是否跟内置的魔术方法__add__有关系

Python中给切片赋值的评论 (共 条)

分享到微博请遵守国家法律