This answer解释了如何获取与字典中的最小值对应的键。

您将如何扩展它以在字典中获得最小值的键?

例如,假设我们有一个词典字典:

d = {
     3: {5: 0.6, 37: 0.98, 70: 0.36},
     5: {5: 2.67, 37: 0.01, 70: 0.55},
     7: {5: 0.2, 37: 0.3, 70: 1.2}
    }


如何获得分别对应于最小值0.01的外字典和内字典的键(5,37)?有pythonic的方法可以做到这一点吗?

最佳答案

一种方法是重组字典并使用列表推导来检索具有最小值的键:

d = {
     3: {5: 0.6, 37: 0.98, 70: 0.36},
     5: {5: 2.67, 37: 0.01, 70: 0.55},
     7: {5: 0.2, 37: 0.3, 70: 1.2}
    }

res_dict = {}

for k, v in d.items():
    for k2, v2 in v.items():
        res_dict[(k, k2)] = v2

minval = min(res_dict.values())
res = [k for k, v in res_dict.items() if v == minval]

print(res)
# [(5, 37)]

关于python - 检索与嵌套字典中的最小值对应的键,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49884359/

10-11 21:50