Ако във вложен речник съществува максимална стойност, отпечатайте друга стойност в същия речник

Нов съм в 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))

Всяка помощ ще бъде оценена! Благодаря!


person E. Stewart    schedule 02.05.2021    source източник
comment
Вашата структура на данните не е валидна. Моля, публикувайте минимално възпроизводим пример.   -  person Asocia    schedule 02.05.2021
comment
Предполагам, че имате нужда от нещо като панди за манипулиране и анализ на данни   -  person Vivek Anand    schedule 02.05.2021
comment
Това отговаря ли на въпроса ви? В List of Dicts намерете min( ) стойност на общо поле Dict   -  person sushanth    schedule 02.05.2021


Отговори (1)


Ако приемем, че сте направили грешка там

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']))
person Aven Desta    schedule 02.05.2021