price = { "ACME": 45.23, "AAPL": 612.78, "IBM": 205.55, "HPQ": 37.2, "FB": 10.75 } # 对这样的数据,有时候我们想找到最大值对应的键 # 传统方法长这样 a = max(price.values()) print(a) for key, value in price.items(): if value == a: print(key) # 显然,我们要对字典里的这些东西进行遍历才能根据值把键找出来 # 如果我们不想要这样的开销,可以把键值反转: max_price = max(zip(price.values(), price.keys())) print(max_price) # 注意,在对键值反转的zip中使用max和min这类函数时需要注意,如果出现: # a = {10, "AA"}, b = {10, "ZZ"}的情况 # 由于值相同,会根据键大小返回结果 # 所以如果有多个值相同的字段,还得是老办法 max_price = [key for value, key in zip(price.values(), price.keys()) if value == a] print(max_price)