字典列表存储为 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}