欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

python字典,拷贝知识

时间:2023-05-28

直接赋值:其实就是对象的引用(别名)。

a = b = {}b.setdefault('1', {}) # 等同于 b['1'] = {}b = {}# b = b['1']b.setdefault('3', {})print(a)打印结果: {'1': {}}

a = b = {} b.setdefault('1', {}) # 等同于 b['1'] = {} # b = {} b = b['1'] b.setdefault('3', {}) print(a)打印结果:{'1': {'3': {}}}

两张图, 第3行, 字典b  赋值方式不同, 打印字典a 结果不同;

图一, b = {} , 重新分配内存空间;

 

图2 , b = b['1'] ,  相当于把第2行 { }  空字典的引用指向了 b

 

参考:Python 直接赋值、浅拷贝和深度拷贝解析 | 菜鸟教程

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。