Python获取属性值最高的嵌套字典的键



我有一个问题。在我的代码中,我有以下字典:

{1: {'amount': 40.0, 'quantity': 0}, 2: {'amount': 40.0, 'quantity': 0}, 3: {'amount': 40.0, 'quantity': 0}, 4: {'amount': 40.0, 'quantity': 0}, 5: {'amount': 41, 'quantity': 0}, 6: {'amount': 40.0, 'quantity': 0}, 7: {'amount': 40.0, 'quantity': 0}, 8: {'amount': 40.0, 'quantity': 0}, 9: {'amount': 40.0, 'quantity': 0}, 10: {'amount': 40.0, 'quantity': 0}}

在这个字典中,我需要获取amount最大的内部字典的键。在我的例子中,应该是5。我发现了很多类似的东西,但是没有关于嵌套字典的。

我想到了这样的东西:

max(int(i['amount']) for i in dict.values())

但是这返回最高的amount。我需要用amount返回那个字典的键。我怎样才能实现我想要的?

您可以找到字典中键的最大值,根据检索键对应的量的自定义键参数进行比较:

result = max(data.keys(), key=lambda x: data[x]['amount'])
print(result)

也许您可以检查该值是否等于最大值,然后保存键,例如:

[k for k, v in dict.items() if v == max(int(v['amount'])]

这将为您提供一个包含所有具有最大值的键的列表(如果多个键共享一个最大值)—因此,为了获得一个键,您可以索引它的第0个元素。

相关内容

  • 没有找到相关文章

最新更新