我的字典看起来像这样:
marks = {'Alex': [9, 8], 'John': [10, 10], 'Raj': [10, 9, 5]}
我希望能够为每个人选择最高分,并按以下方式将其存储在新词典中:
highest_score = {'Alex': [9], 'John': [10], 'Raj': [10]}
我的猜测:
highest_score = {}
for key, values in marks.items():
#Find highest value
#store highest value in highest_score
如何找到最高值并将其存储在新词典中?
提前致谢。
答案 0 :(得分:3)
highest_score = {key: max(values) for key, values in marks.iteritems()}
请注意,这会将结果显示为:
highest_score = {'Alex': 9, 'John': 10, 'Raj': 10}
如果您确实希望每个结果仍然在列表中,请改用[max(values)]
。
答案 1 :(得分:0)
highest_score = {k: [max(v)] for k, v in marks.iteritems()}
答案 2 :(得分:0)
In [50]: highest = {k: [(max(v))] for k,v in marks.iteritems()}
In [51]: highest
Out[51]: {'Alex': [9], 'John': [10], 'Raj': [10]}
答案 3 :(得分:0)
在列表中使用max function。
marks = {'Alex': [9, 8], 'John': [10, 10], 'Raj': [10, 9, 5]}
highest_score = {}
for key, values in marks.items():
highest_score[key] = max(values)
print highest_score
输出:
{'Alex': 9, 'John': 10, 'Raj': 10}