可以通过两个步骤完成,首先找到嵌套字典,该字典的值最大:
my_dict = {
0: {1: 10, 2: 20, 3: 30},
10: {10: 100, 20: 200, 30: 300},
20: {100: 1000, 200: 2000, 300: 3000},
}
# step 1
k_outer, v_outer = max(my_dict.items(), key=lambda x: max(x[1]))
# step 2
k_inner, v_inner = max(v_outer.items(), key=lambda x: x[1])
print(k_outer, k_inner, v_inner)
输出:
20 300 3000
我相信上述解决方案将非常有效,但您也可以在一次迭代中找到您感兴趣的项目:
my_dict = {
0: {1: 10, 2: 20, 3: 30},
10: {10: 100, 20: 200, 30: 300},
20: {100: 1000, 200: 2000, 300: 3000},
}
max_value = float("-inf")
outer_key = None
inner_key = None
for k_outer, v_outer in my_dict.items():
for k_inner, v_inner in v_outer.items():
if v_inner > max_value:
max_value = v_inner
outer_key = k_outer
inner_key = k_inner
print(outer_key, inner_key, max_value)
这样,每当你找到一个比你的max_value
大的值(v_inner
),你就会存储这两个键(outer_key
inner_key
).迭代完成后,您就有了数据.