在形成字典时,我有很多相等的冻结集成为字典值。所以,我想分享平等的frozensets。
这是可能的解决方案之一:
result = dict()
helper = dict()
for key, value in generate_data(): # generate_data will return a lot of equal frozensets as values
result[key] = helper.setdefault(value, value)
在这个解决方案中helper
,字典用于查明当前frozenset
是否已经与frozentset
之前的值相等,并且保存在 中helper
,如果不是 - 将其保存在那里。所有的辛勤工作都是由setdefault
.
我不喜欢这个解决方案的地方是它很难立即理解(非常重要的用法setdefault
)
所以,我的问题是:
它是否可以以更易读和更易理解的方式编写,仍然像这个解决方案一样简洁(或几乎简洁)?