python字典嵌套字典构造_关于python字典嵌套生成的例子

python的数据结构功能很强大,之前的文章中总结了一些字典的操作,这里专门总结一个字典嵌套的例子,以备不时之需:

首先说一下需求,我有一个list=['空调','工程'],然后我可以根据一个近义词包通过遍历这两个list中的元素,取出每个元素的近义词以及近似系数然后放到字典中。

例如 空调 近义词:通风:系数0.9,制冷:系数0.8;工程 近义词 :维护:系数0.7,施工:系数0.6

然后我将这些信息放到字典中显示

{'空调': {'通风': 0.9, '制冷': 0.8}, '工程': {'维护': 0.7, '施工': 0.6}}

这个其实是比较简单的,但是手动去写还是有点麻烦。这里我看到了一个例子总结一下

import pprint

class Vividict(dict):

def __missing__(self, key):

value = self[key] = type(self)()

return value

d = Vividict()

d['空调']['通风']=0.9

d['空调']['制冷']=0.8

d['工程']['维护']=0.7

d['工程']['施工']=0.6

print(d)

pprint.pprint(d)

输出:

{'空调': {'通风': 0.9, '制冷': 0.8}, '工程': {'维护': 0.7, '施工': 0.6}}

{'工程': {'施工': 0.6, '维护': 0.7}, '空调': {'制冷': 0.8, '通风': 0.9}}

可以看到只要你将想要添加到字典中的元素列出来,然后直接添加即可;

这里我用了两种打印方式,可以看到打印出来的字典的顺序结构是不同的。

作者还有更深入的例子:

d['foo']['bar']

d['foo']['baz']

d['fizz']['buzz']

d['primary']['secondary']['tertiary']['quaternary']

pprint.pprint(d)

输出:

{'fizz': {'buzz': {}},

'foo': {'bar': {}, 'baz': {}},

'primary': {'secondary': {'tertiary': {'quaternary': {}}}}}

看到了吧,这样就可以实现多层嵌套了。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值