我正在使用一个由 dict
对象组成的 list
,它看起来像这样(对象的顺序不同):
[
{'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}
]
我想要做的是删除重复的名称,仅保留每个名称中得分最高的一个。来自上述列表的结果如下:
[
{'name': 'Baz', 'score': 2},
{'name': 'Foo', 'score': 3},
{'name': 'Bar', 'score': 3}
]
我不确定在这里应该使用哪种模式(除了一个看起来很蠢的循环,它不断检查当前dict
的'name'
是否已经在列表中,然后检查它的'score'
是否高于现有的那个'score'
)。