首页 > 解决方案 > 如何通过 Python 中的值访问键?

问题描述

banks = {
    "National Bank of Canada" : "327",
    "Toronto-Dominion Bank" : "302", 
    "Royal Bank of Canada" : "173", 
    "Wells Fargo" : "273", 
    "Goldman Sachs" : "87", 
    "Morgan Stanley" : "72", 
    "Canadian Imperial Bank of Commerce" : "83",
    "TD Bank" : "108", 
    "Bank of Montreal" : "67", 
    "Capital One" : "47", 
    "FNB Corporation" : "4", 
    "Laurentian Bank of Canada" : "3", 
    "Ally Financial" : "12",
    "Montreal Trust Company" : "145",
    "Canadian Western Bank" : ".97"
}



for value in banks.values():
    count += 1
    total_mkt_cap += float(value)
    total =+ count
    if float(value) > float(largest):
        largest = value

变量largest现在是值327,但我想largest成为关键,而"National Bank of Canada"不是值,感谢任何帮助,谢谢

标签: pythondictionarykey

解决方案


考虑到largest包含最大值,您可以通过遍历字典找到与其关联的键(key, value)

for key, value in banks.items():
    if value == largest:
        desired_key = key
        break

print(desired_key)

请记住,它将为您提供与此值关联的第一个键。

替代解决方案

或者,您可以使用以下使用operator.itemgetterand的逻辑ast.literal_eval

import operator
import ast

banks = {key: ast.literal_eval(value) for key, value in banks.items()}
print(max(banks.items(), key=operator.itemgetter(1))[0])

一旦转换为 int 或 float,前面的代码将为您提供最高值的键。


推荐阅读