Python列表理解到组数据

时间:2014-03-22 08:34:36

标签: python list-comprehension

数据:

dictionary = {"user1" : "data1", "user2" : "data1", "user3": "data2"}

我想将这本词典概括为

dictionary2 = { "data1" : ["user1","user2"], "data2" : ["user3"] }

我的代码:

dictionary2 = { b : [] for a,b in dictionary.items() }
[dictionary2[b].append(a) for a,b in dictionary.items()

我需要遍历dictionay两次才能构建dictionary2。

有没有更简单的方法?

1 个答案:

答案 0 :(得分:6)

您可以使用defaultdict

from collections import defaultdict

d = defaultdict(list)
for k,v in original.iteritems():
   d[v].append(k)

print(d)