欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python中浅拷贝作用于字典和列表

程序员文章站 2022-03-21 21:28:13
[{'浙江': {'杭州': {'拱墅': {}, '西湖': {}, '富阳': {}}, '宁波': {'鄞州': {}, '海曙': {}, '江北': {}, '江东': {}}}, '江苏': {'徐州': {'邳州': {}, '新沂': {}, '铜山': {}}}}] {'杭州': ......
menu = {'浙江':{'杭州':{'拱墅':{},
'西湖':{},
'富阳':{}},
'宁波':{'鄞州':{},
'海曙':{},
'江北':{},
'江东':{}}
},
'江苏':{'徐州':{'邳州':{},
'新沂':{},
'铜山':{}}}
}

curr = menu
a = []
a.append(menu)
print(a)
print('------------------')
curr = curr['浙江'] #当前选择为'浙江'这一层
a.append(curr) #将这一层的数据放入列表中
print(curr)
print(a) #打印列表查看
print('-------------------')
curr['台州'] = {} #在'浙江'这一层添加'台州'键值
print(curr) #打印查看新的字典
print(a) #打印查看列表a的变化

输出结果:

[{'浙江': {'杭州': {'拱墅': {}, '西湖': {}, '富阳': {}}, '宁波': {'鄞州': {}, '海曙': {}, '江北': {}, '江东': {}}}, '江苏': {'徐州': {'邳州': {}, '新沂': {}, '铜山': {}}}}]
------------------
{'杭州': {'拱墅': {}, '西湖': {}, '富阳': {}}, '宁波': {'鄞州': {}, '海曙': {}, '江北': {}, '江东': {}}}
[{'浙江': {'杭州': {'拱墅': {}, '西湖': {}, '富阳': {}}, '宁波': {'鄞州': {}, '海曙': {}, '江北': {}, '江东': {}}}, '江苏': {'徐州': {'邳州': {}, '新沂': {}, '铜山': {}}}}, {'杭州': {'拱墅': {}, '西湖': {}, '富阳': {}}, '宁波': {'鄞州': {}, '海曙': {}, '江北': {}, '江东': {}}}]
-------------------
{'杭州': {'拱墅': {}, '西湖': {}, '富阳': {}}, '宁波': {'鄞州': {}, '海曙': {}, '江北': {}, '江东': {}}, '台州': {}}
[{'浙江': {'杭州': {'拱墅': {}, '西湖': {}, '富阳': {}}, '宁波': {'鄞州': {}, '海曙': {}, '江北': {}, '江东': {}}, '台州': {}}, '江苏': {'徐州': {'邳州': {}, '新沂': {}, '铜山': {}}}}, {'杭州': {'拱墅': {}, '西湖': {}, '富阳': {}}, '宁波': {'鄞州': {}, '海曙': {}, '江北': {}, '江东': {}}, '台州': {}}]

 

以上可以看出,当字典的'浙江’层中增加了台州之后,列表a的值也随之发生了变化。