Python嵌套字典提取最大值对应键的实现问题
解决嵌套字典提取最大值对应键的问题
可以用字典推导式结合max()函数的key参数来实现需求,代码如下:
diccionario = {'maria': {'valor1': 1, 'valor2': 2}} resultado = {outer_key: max(inner_dict, key=inner_dict.get) for outer_key, inner_dict in diccionario.items()} print(resultado) # 输出: {'maria': 'valor2'}
代码说明
diccionario.items()遍历外层字典的键值对,outer_key是外层键(比如'maria'),inner_dict是对应的内层字典。max(inner_dict, key=inner_dict.get):inner_dict会迭代其所有键,key=inner_dict.get指定按键对应的值来比较大小,最终返回值最大的那个键(这里就是'valor2')。
你之前得到错误结果{'maria': {'maria': 2}},大概率是没有正确指定max()的比较规则,或者错误构造了结果字典的结构。比如如果误将外层键和内层最大值组合成新字典,就会出现这种嵌套错误。
内容的提问来源于stack exchange,提问作者Joana
相关产品推荐
相关产品推荐

