创建"集合字典"

时间:2017-02-23 19:34:04

标签: python dictionary set

我需要有效地将数据存储在类似于"集合字典的内容中。例如拥有一个字典,其中包含与每个唯一键匹配的多个(唯一)值。我的数据来源是一个(不太好)结构化的XML。

我的想法是: 我将查看一些元素并找到键。如果密钥不存在,请将其添加到字典中(如果已存在),只需在相应的密钥中添加新值即可。

结果如下:

{
 'key1': {'1484', '1487', 1488', ...}
 'key2': {'1485', '1486', '1489', ...}
 'key3': {'1490', '1491', '1492', ...}
 ...
}

我需要随时添加新密钥。 我需要将唯一值推送到每个集合中。 我需要能够遍历整个字典。

我不确定这是否可行,但如果有人能够把我推向正确的方向,我会非常感激。

1 个答案:

答案 0 :(得分:1)

使用dict.setdefault()创建密钥(如果密钥不存在),并用空的set进行初始化:

store = {}
for key, value in yoursource:
    store.setdefault(key, set()).add(value)