【问题标题】:KeyError when finding for max value in nested dictionary在嵌套字典中查找最大值时出现 KeyError
【发布时间】:2019-12-11 02:51:13
【问题描述】:

我有一个这样的嵌套字典:

input_dic = {'GCT': {'A': '2.520'}, 
             'GCC': {'A': '1.294'}, 
             'GCA': {'A': '0.161'}, 
             'GCG': {'A': '0.025'}, 
             'TGT': {'C': '1.422'}, 
             'TGC': {'C': '0.578'}, 
             'GAT': {'D': '0.645'}}

我想提取每个组的最大值,比如'A'2.520,所以我尝试了:

max(float(x['A']) for x in input_dic.values())

但是,它说KeyError: 'A'。我认为这是因为这个键不是唯一的,但我不知道如何修复它。

我尝试了一种新方法来构建字典,例如

{('A', 'GCT'): '2.520', 
 ('A', 'GCC'): '1.294', 
 ('A', 'GCA'): '0.161', 
 ('A', 'GCG'): '0.025', 
 ('C', 'TGT'): '1.422', 
 ('C', 'TGC'): '0.578', 
 ('D', 'GAT'): '0.645'}

但我也不知道提取组'A'2.520。如果你知道怎么做,请告诉我。

【问题讨论】:

    标签: python dictionary keyerror


    【解决方案1】:

    在键入之前验证'A' 密钥是否存在于x

    max(float(x['A']) for x in input_dic.values() if 'A' in x)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-18
      • 2015-07-18
      • 2022-08-14
      • 2022-10-12
      • 1970-01-01
      • 2023-01-13
      • 2015-08-05
      • 2013-10-23
      相关资源
      最近更新 更多