python - 创建计数的动态嵌套字典

标签 python dictionary nested

我有一个文本文件 abc.txt :

abc/pqr/lmn/xyz:pass
abc/pqr/lmn/bcd:pass

我需要解析这些语句,输出应该在嵌套字典中,如下所示:
{'abc':{'pqr':{'lmn':{'xyz':{'pass':1},{'bcd':{'pass':1}}}}}}

其中 1 是 'pass'数数。

我可以做这样的事情:
import re

d={}
p=re.compile('[a-zA-z]+')
for line in open('abc.txt'):
    for key in p.findall(line):
        d['key']={}

最佳答案

查看 setdefault字典的方法。

d = {}
d.setdefault('pqr', {}).setdefault('lmn', {}).setdefault('xyz', {})['pass'] = 1
d.setdefault('pqr', {}).setdefault('lmn', {}).setdefault('bcd', {})['pass'] = 1
d


{'pqr': {'lmn': {'bcd': {'pass': 1}, 'xyz': {'pass': 1}}}}

关于python - 创建计数的动态嵌套字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27560360/

相关文章:

Linq to SQL 嵌套选择组(按计数)

python - 在 Pandas 数据框中找到最小值并在新列上添加标签

python - Pandas 在 1 个图的 11 个图中绘制 22 个系列

python - 属性错误: module 'dill._dill' has no attribute 'log'

json - 如何在 jsonObject swift 4 中获取 jsonObject 的值?

javascript - 使用 Javascript 从嵌套的 JSON 排序索引

c# - 如何检索具有完全限定名称的嵌套类型?

python - 如何写入tfrecord文件并读取它?错误是: truncated record at 0' failed with Read less bytes than requested [Op:IteratorGetNext]

swift - 如何将符合 Codable 协议(protocol)的对象数组转换为 Dictionary 数组?

java - 队列和映射类型功能的混合