如何从包含许多词典的列表中为每个玩家获得高分?每个词典都是一个名字和一个乐谱



字典列表存储为 score_list

存储在score_list中的数据是:

[{'LLCoolDave': '23'}, {'LLCoolDave': '27'}, {'red': '12'}, {'LLCoolDave': '26'}, {'tom123': '26'}, {'O_O': '7'}, {'Misha46': '24'}, {'O_O': '14'}, {'Empiro': '18'}, {'Empiro': '18'}, {'MaxxT': '25'}, {'L33tH4x': '42'}, {'Misha46': '25'}, {'johnsmith': '30'}, {'Empiro': '23'}, {'O_O': '22'}, {'MaxxT': '25'}, {'Misha46': '24'}]

当我这样做时

scores = {}
for i in score_list:
scores.update(i)
print(scores)

它只给了我每个玩家的一个键值对,即使有些玩家有多个分数。

我怎样才能把它变成一种形式,从数据中获得每个玩家的最高分?

我正在寻找的所需输出是:

Empiro 23
L33tH4x 42
LLCoolDave 27
MaxxT 25
Misha46 25
O_O 22
johnsmith 30
red 12
tom123 26

将此作为您问题的学习参考

p_data = [{'LLCoolDave':'23'}, {'LLCoolDave':'27'}, {'red':'12'}, {'LLCoolDave':'26'}, {'tom123':'26'}, {'O_O':'7'}, {'Misha46':'24'}, {'O_O':'14'}, {'Empiro':'18'}, {'Empiro':'18'}, {'MaxxT':'25'}, {'L33tH4x':'42'}, {'Misha46':'25'}, {'johnsmith':'30'}, {'Empiro':'23'}, {'O_O':'22'}, {'MaxxT':'25'}, {'Misha46':'24'}]
res = {}
for i in p_data:                                # loop through each data
for j, v in i.items():                      # get key value pair of each team
res[j] = res.get(j, 0)                  # assign it with 0 if its first time for the result dict.
v = int(v)                              # converting value to int for comparision
res[j] = v if res[j] < v else res[j]    # comapre with previous value 
print(res)                                      # print result
# Result =  {'LLCoolDave': 27, 'red': 12, 'tom123': 26, 'O_O': 22, 'Misha46': 25, 'Empiro': 23, 'MaxxT': 25, 'L33tH4x': 42, 'johnsmith': 30}

最新更新