在Python中,`defaultdict`是一个字典的子类,它可以为不存在的键提供一个默认值。如果你想要根据`HOUSE`的值来组织`ID`,并将每个`ID`对应的详情存储起来,你可以使用`defaultdict`来实现。以下是一个使用`defaultdict`的示例,展示如何根据`HOUSE`的值来组织`ID`和对应的详情:
from collections import defaultdict
创建一个defaultdict,其默认值是dict
ret = defaultdict(dict)
假设res是一个包含字典的列表,每个字典包含ID和HOUSE
res = [
{"ID": 111, "HOUSE": 1},
{"ID": 222, "HOUSE": 1},
{"ID": 333, "HOUSE": 1},
{"ID": 444, "HOUSE": 2},
{"ID": 555, "HOUSE": 2},
]
遍历res列表
for i in res:
假设detail是从其他接口获取的ID对应的详情信息
这里用一个字符串来代替从接口获取的详情
detail = f"detail{i['ID']}"
更新defaultdict,将ID作为键,详情作为值
ret[i['HOUSE']].update({i['ID']: {}})
ret[i['HOUSE']][i['ID']] = detail 也可以直接赋值
打印结果
print(ret)
执行上述代码后,`ret`将是一个`defaultdict`,其结构如下:
defaultdict(
, { 1: {'111': 'detail111', '222': 'detail222', '333': 'detail333'},
2: {'444': 'detail444', '555': 'detail555'}
})
在这个结构中,你可以通过`HOUSE`的值来访问对应的所有`ID`和它们的详情。例如,要获取`HOUSE`为1的所有`ID`和详情,你可以这样做:
for id, detail in ret.items():
print(f"ID: {id}, Detail: {detail}")
这将输出:
ID: 111, Detail: detail111
ID: 222, Detail: detail222
ID: 333, Detail: detail333
请注意,上述代码中的`detail`变量是一个示例,实际使用时你需要从其他接口或其他数据源获取真实的详情信息。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://sigusoft.com/bj/140676.html