首页 > 解决方案 > 如果嵌套字典中存在最大值,则在同一字典中打印另一个值

问题描述

我是 python 新手,并且有一个来自 CSV 的嵌套字典,如下所示:

data = {
         {object: a, type: 1, value: 1.50, another_value: 2}
         {object: b, type: 1, value: 3.67, another_value: 4}   
       }

如果存在值,我正在尝试打印来自不同列的数据。首先,我想在“值”列中的所有条目中找到最大数量。然后,如果该字典中存在该最大值,我想打印“对象”。

所以在这种情况下,我希望我的输出看起来像:

print('Max value is 3.67 which is found in object b)

我已经做到了这一点:

data = {see above}
max_list[]

for row in data:
    values = float(row['value'])
    max_list.append(values)

max_value = max(max_list)

if max_value in data
    max_object = data(['object'])

print('Max value: {} which is found in object {}'.format(max_value, max_object))

任何帮助,将不胜感激!谢谢!

标签: pythondictionaryif-statementnestedmax

解决方案


假设你在那里犯了一个错误

data = [
    {"object": "a", "type": 1, "value": 1.50, "another_value": 2},
    {"object": "b", "type": 1, "value": 3.67, "another_value": 4},
    {"object": "c", "type": 2, "value": 3.50, "another_value": 6},
]

sorted_data = sorted(data, key=lambda k: k['value']) 
maxx = sorted_data[-1]
print('Max value: {} which is found in object {}'.format(maxx['value'], maxx['object']))

推荐阅读