已有字典d={'李红':87,'姜珊瑚':65,'费玉':92,'胡天':73,'张瀚之':98,'李高峰':69},表示6位同学的成绩。 按成绩大小降序排序后,输出前n个键的内容(每行一个人名),n(n>0)由键盘输入,当n大于元素个数时,按实际元素数量输出。 输入样例: 3 输出样例: 张瀚之 费玉 李红
时间: 2023-06-17 18:05:02 浏览: 347
糖医生商业计划书:糖尿病健康管理专家_医疗健康商业计划书.pdf
可以按照以下步骤来实现:
1. 使用 `sorted()` 函数将字典按值降序排序,返回一个键值对组成的元组列表;
2. 使用列表切片获取前n个元素;
3. 使用 `for` 循环遍历列表切片,输出每个元素的键值对中的键。
代码如下:
```python
d = {'李红':87, '姜珊瑚':65, '费玉':92, '胡天':73, '张瀚之':98, '李高峰':69}
n = int(input("请输入n:"))
n = min(n, len(d)) # 如果n大于字典长度,就取字典长度
lst = sorted(d.items(), key=lambda x: x[1], reverse=True)[:n] # 按值降序排序,并取前n个元素
for k, v in lst:
print(k)
```
输出结果如下:
```
请输入n:3
张瀚之
费玉
李红
```
阅读全文