如何访问字典键对应列表中的元素及找出字典内最高总分?
Python字典列表访问与最高总分计算问题解答
1. 访问字典中键对应列表的元素
要访问字典里某个键对应的列表元素,分两步操作:
- 先通过
字典名[键名]获取该键对应的完整列表 - 再用列表索引(从0开始计数)定位列表内的具体元素
拿你提供的scores字典举例,比如要获取Monday列表里的第三个元素(值为24),可以这么写:
# 先获取Monday对应的分数列表 monday_scores = scores['Monday'] # 取列表第三个元素(索引为2,因为索引从0开始) third_score = monday_scores[2] print(third_score) # 输出24
也可以合并成一行更简洁的代码:
print(scores['Monday'][2]) # 同样输出24
2. 打印scores字典中的最高总分
要找出最高总分,核心逻辑是先计算每一天的分数总和,再从这些总和里筛选出最大值。
方法一:循环遍历计算(适合新手理解)
scores = { 'Monday': [21, 23, 24, 19], 'Tuesday': [16, 15, 12, 19], 'Wednesday': [23, 22, 23], 'Thursday': [18, 20, 26, 24], 'Friday': [17, 22], 'Saturday': [22, 24], 'Sunday': [21, 21, 28, 25] } # 初始化最高总分变量 highest_total = 0 # 遍历字典中每一天的分数列表 for daily_list in scores.values(): # 计算当天的总分 daily_total = sum(daily_list) # 如果当天总分大于当前最高值,更新最高值 if daily_total > highest_total: highest_total = daily_total print(highest_total) # 输出95(Sunday的总分:21+21+28+25=95)
方法二:生成器表达式+max函数(简洁写法)
如果想写得更紧凑,可以用Python内置的max()函数结合生成器表达式,直接计算所有天的总分并取最大值:
max_total = max(sum(day_scores) for day_scores in scores.values()) print(max_total) # 同样输出95
内容的提问来源于stack exchange,提问作者dangc
相关产品推荐
相关产品推荐

