数据:
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。
有没有更简单的方法?
答案 0 :(得分:6)
您可以使用defaultdict
:
from collections import defaultdict
d = defaultdict(list)
for k,v in original.iteritems():
d[v].append(k)
print(d)