在嵌套字典中查找最大值时出现KeyError错误

3
我有一个类似这样嵌套的字典:
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。 如果您知道如何做,请告诉我。

1个回答

3

在输入 x 前,请验证 'A' 键是否存在:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接