【发布时间】:2022-01-18 23:39:19
【问题描述】:
假设我们有一本字典 inp = {"virat":60,"rohit":50,"sardhul":50,"rana":60} 和
我们应该得到{60: ['virat', 'rana'], 50: ['rohit', 'sardhul']}的输出
我可以在正常的python编程中做到如下
out = dict()
for key, val in inp.items():
if val not in out:
out[val] = [key]
else:
out[val].append(key)
输出为{60: ['virat', 'rana'], 50: ['rohit', 'sardhul']}
我们如何在字典理解中做同样的事情?
【问题讨论】:
-
在这种情况下,作为理解的解决方案不会有效,为什么会有这种约束?
-
你可以使用
collections.defaultdict,所以你不需要ifelse。
标签: python python-3.x list dictionary dictionary-comprehension