【发布时间】:2014-04-30 20:37:26
【问题描述】:
假设我有以下字典:
{name: "john", place: "nyc", owns: "gold", quantity: 30}
{name: "john", place: "nyc", owns: "silver", quantity: 20}
{name: "jane", place: "nyc", owns: "platinum", quantity: 5}
{name: "john", place: "chicago", owns: "brass", quantity: 60}
{name: "john", place: "chicago", owns: "silver", quantity: 40}
我有数百本这样的小词典。我必须将它们与公共键的子集合并,在这个例子中(名称,地点)并创建一个新字典。最终,输出应如下所示:
{name: "john", place: "nyc", gold: 30, silver: 20}
{name: "jane", place: "nyc", platinum: 5}
{name: "john", place: "chicago", brass: 60, silver: 40}
有没有有效的方法来做到这一点?我能想到的只是蛮力,我将跟踪每个可能的名称-地点组合,存储在某个列表中,为每个组合再次遍历整个内容并将字典合并到一个新字典中。谢谢!
【问题讨论】:
-
两本词典;我数了5
-
对不起,我已经修好了。
-
不要认为这是一个重复的问题:合并策略更复杂。
-
您想要的结果是数据的非规范化,并保证使其更难处理。
标签: python python-2.7 dictionary