Я работаю с объектами 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'.