假设我有下面的代码来生成dict:
x = 0
myHash = {}
name = ["Max","Fred","Alice","Bobby"]
while x <= 3:
myHash[name[x]] = x
x += 1
l = sorted(myHash.values(), reverse=True)
largestNum = l[0]
# print myHash.getKeyFromValue(largestNum)
是否可以轻松地获得与我的largestNum
变量配对的密钥,而不必遍历整个dict?像下面那行的伪代码。在
注意:我不想从键中获取值。我要反过来。在
不要只对
values
排序。按values
对items
进行排序,并免费获得密钥。在注意:如果您只需要最大值,而不是其他排序结果,您可以保存一些工作并跳过完整的}):
^{pr2}$sorted
工作(将工作从O(n log n)
减少到{对于反转
dict
的一般情况,如果值是唯一的,则创建一个反向映射是很简单的:如果这些值不是唯一的,并且您希望通过一次查找来查找与单个值相对应的所有键,则可以将其转换为多个dict:
相关问题 更多 >
编程相关推荐