该题上来会像应该先对键值进行排序,再对键进行排序。
首先,创建字典输入学生的成绩与姓名信息。
chengji={"Han":65,"Wang":97,"Ma":73,"Xu":85,"Yang":92}
再对成绩字典中的键值进行排序
a=list(reversed(sorted(chengji.values())))
用values获取键值序列,再用sorted函数排序,因为是从高到低,所以再对列表进行反转。因为reversed函数返回值为了节约空间,返回为地址,我们应该用list函数将其转化为列表类型。
这样,键值就进行了排序,现在就想如何根据键值序来输出键序。
我们使用for循环对列表进行遍历输出即可。
b=list(chengji.keys())
j=0
while j<=4:
for i in range(0,5):
if chengji[b[i]]==a[j]:
print(b[i])
j+=1
完整代码如下:
chengji={"Han":65,"Wang":97,"Ma":73,"Xu":85,"Yang":92}
a=list(reversed(sorted(chengji.values())))
b=list(chengji.keys())
j=0
while j<=4:
for i in range(0,5):
if chengji[b[i]]==a[j]:
print(b[i])
j+=1
输出结果:

本文介绍了如何使用Python对字典按值(成绩)排序,然后根据排序后的键值顺序输出对应的键(学生姓名)。通过`reversed`和`sorted`函数实现成绩降序,再利用for循环遍历输出姓名。
8030

被折叠的 条评论
为什么被折叠?



