def revert_dict(d):
rd = {}
for key in d:
val = d[key]
if val in rd:
rd[val].append(key)
else:
rd[val] = [key]
return rd
>>> revert_dict({'srvc3': '1', 'srvc2': '1', 'srvc1': '2'})
{'1': ['srvc3', 'srvc2'], '2': ['srvc1']}
这显然不是简单的键与值的交换:这会覆盖一些值(作为新的键),这不是我要的。在
如果两个或更多的值对于不同的键是相同的,那么键应该被分组在一个列表中。在
上面的功能可以用,但是我想知道有没有更智能/更快的方法?在
看起来不错。您可以使用^{} 将其简化一点:
可能效率不高,但是:
另一种方法。不确定这是否更快(我对此表示怀疑)。在
您的初始代码肯定不错(可读),尽管我可能会这样写(实际上主要是个人偏好):
^{pr2}$相关问题 更多 >
编程相关推荐