Я работаю с объектами list
из dict
, которые выглядят следующим образом (порядок объектов отличается):
[
{'name': 'Foo', 'score': 1},
{'name': 'Bar', 'score': 2},
{'name': 'Foo', 'score': 3},
{'name': 'Bar', 'score': 3},
{'name': 'Foo', 'score': 2},
{'name': 'Baz', 'score': 2},
{'name': 'Baz', 'score': 1},
{'name': 'Bar', 'score': 1}
]
Что я хочу сделать, это удалить повторяющиеся имена, сохраняя только одно имя, имеющее наивысшее значение 'score'
. Результаты из приведенного выше списка будут следующими:
[
{'name': 'Baz', 'score': 2},
{'name': 'Foo', 'score': 3},
{'name': 'Bar', 'score': 3}
]
Я не уверен, какой шаблон использовать здесь (кроме, казалось бы, идиотского цикла, который продолжает проверять, находится ли текущий dict
'name'
в списке, а затем проверяет, находится ли его 'score'
выше существующего один 'score'
.