一本字典的词典与重复的钥匙

时间:2013-11-09 00:09:36

标签: python python-2.7 dictionary pymongo

我想使用pyMongo将以下数据结构插入到MongoDB中。唯一的问题是我使用的xml数据具有我想要保留的重复键,以及“关键字”和“相关性”子字典键。

for entity in root.find('output'):
   oc_entities[entity.tag] = {'keyword' : entity.text,
  'relevance' : entity.get('relevance')}

以上是工作和插入所需,买我丢失了大部分重复的键值数据。我知道词典不允许重复键,但有点难以替代!

提前致谢

1 个答案:

答案 0 :(得分:0)

如果存在重复键,则可以将值设为列表。这是解决这个问题的一种非常常见的方法。

for entity in root.find('output'):
   if oc_entities.get(entity.tag):
     if type(oc_entities.get(entity.tag)) == 'dict':
       oc_entities[entity.tag] = [oc_entities[entity.tag]]
     oc_entities[entity.tag].append({'keyword' : entity.text, 'relevance' : entity.get('relevance')})
   else:
     oc_entities[entity.tag] = {'keyword' : entity.text, 'relevance' : entity.get('relevance')}