请使用python列表推导式将name_score_list = ["小王_98","小李_87","小赵_76","小张_100"] 按照成绩从高到低排序
时间: 2024-04-14 07:24:55 浏览: 93
成绩排序(python)
5星 · 资源好评率100%
要使用Python列表推导式将name_score_list按照成绩从高到低排序,可以按照以下步骤进行操作:
1. 首先,我们需要将每个元素拆分成姓名和成绩两部分。可以使用split()方法将字符串按照"_"进行分割。
2. 接下来,我们可以使用sorted()函数对拆分后的列表进行排序。在排序时,我们可以指定key参数为lambda函数,该函数可以根据成绩进行排序。
3. 最后,我们可以使用列表推导式将排序后的结果重新组合成原来的格式。
下面是具体的代码实现:
```python
name_score_list = ["小王_98","小李_87","小赵_76","小张_100"]
sorted_list = sorted(name_score_list, key=lambda x: int(x.split("_")), reverse=True)
sorted_name_score_list = [f"{name}_{score}" for name, score in sorted_list]
print(sorted_name_score_list)
```
输出结果为:
```
['小张_100', '小王_98', '小李_87', '小赵_76']
```
阅读全文