鱼C论坛

 找回密码
 立即注册
查看: 1629|回复: 3

[已解决]python 嵌套字典的赋值问题

[复制链接]
发表于 2018-4-29 06:52:20 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x

构造的嵌套字典如下:
{'x1': {'ff': 0, 'ffs': 0},
'x2': {'ff': 0, 'ffs': 0},
'x3': {'ff': 0, 'ffs': 0}}

代码
l=["x1","x2","x3"]
l2=["ff","ffs"]
dic1=dict.fromkeys(l,dict.fromkeys(l2,0))


现在想对key=x1的item中的key=“ff”重新赋值value=1
即期望结果是
{'x1': {'ff': 1, 'ffs': 0},
'x2': {'ff': 0, 'ffs': 0},
'x3': {'ff': 0, 'ffs': 0}}

使用语句
dic1["x1"]['ff']=1
但是输出结果是 print(dic1)
{'x1': {'ff': 1, 'ffs': 0},
'x2': {'ff': 1, 'ffs': 0},
'x3': {'ff': 1, 'ffs': 0}}
请问怎么修改
最佳答案
2018-4-29 09:57:50
>>> dict1 = {'x1': {'ff': 0, 'ffs': 0},'x2': {'ff': 0, 'ffs': 0},'x3': {'ff': 0, 'ffs': 0}}
>>> dict1["x1"]["ff"] = 1
>>> dict1
{'x1': {'ff': 1, 'ffs': 0}, 'x2': {'ff': 0, 'ffs': 0}, 'x3': {'ff': 0, 'ffs': 0}}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-4-29 09:57:50 | 显示全部楼层    本楼为最佳答案   
>>> dict1 = {'x1': {'ff': 0, 'ffs': 0},'x2': {'ff': 0, 'ffs': 0},'x3': {'ff': 0, 'ffs': 0}}
>>> dict1["x1"]["ff"] = 1
>>> dict1
{'x1': {'ff': 1, 'ffs': 0}, 'x2': {'ff': 0, 'ffs': 0}, 'x3': {'ff': 0, 'ffs': 0}}
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-29 13:38:03 | 显示全部楼层
ba21 发表于 2018-4-29 09:57
>>> dict1 = {'x1': {'ff': 0, 'ffs': 0},'x2': {'ff': 0, 'ffs': 0},'x3': {'ff': 0, 'ffs': 0}}
>>> dic ...


确实是这样,看来是生成方式的问题。。。
dict.fromkeys()导致的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-4-29 14:25:56 | 显示全部楼层
galaxybamboo 发表于 2018-4-29 13:38
确实是这样,看来是生成方式的问题。。。
dict.fromkeys()导致的

是的,我也发现,这种生成方式下,键值会出现批量更改,但是我不清楚原理
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-12 04:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表