gpt4 book ai didi

python - 提取嵌套字典中具有最高值的键

转载 作者:行者123 更新时间:2023-11-28 21:49:54 24 4
gpt4 key购买 nike

我需要提取字典中具有最高值的所有键。以下是字典的示例:

a = {0: {0: 13, 1: 2, 2: 5, 3: 9}, 1: {0: 2, 1: 5, 2: 1, 3: 12}, 2: {0: 1.6, 1: 4, 2: 2, 3: 11}}

最高值为 12(因为 a[0][0]=13 具有相同的键,见下文),因此我需要一个导致该值的键元组。在这个例子中:

find_highest_value(a) = (1, 3)

我知道如何在非嵌套环境中找到具有最大值的键:

max(c, key=lambda x: c[x])

此外,我可以使用固定值访问第二个字典:

max(c, key=lambda x: c[x][0])

返回 1(因为 a[1][0] 最高)。以下代码不起作用,此时我放弃了,因为我没有进一步的想法。

max(c, key=lambda (x,y): c[x][y])

附加问题:如何忽略两个键相等的值? IE。忽略所有 b == c 的值 a[b][c]。

编辑:

评论中的问题回复:

  • 我需要整个字典中一个最高值的键。
  • 它总是像示例一样嵌套。一个字典的字典,后者总是包含键值对。将其视为图中的邻接矩阵。

最佳答案

max([(x,y,a[x][y]) for x in a for y in a[x] if x != y], key=lambda x: x[2])

给出输出

(1, 3, 12)

并且会根据需要忽略重复项

关于python - 提取嵌套字典中具有最高值的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32783151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com