sporter.txt文件存放乒乓球运动员获得金牌数,读取数据找出金牌数大于20的运动员并排序python
时间: 2024-02-09 21:09:07 浏览: 85
python实现乒乓球游戏
可以使用 Python 内置的 `open` 函数打开文件并读取数据,然后使用列表推导式或循环遍历来筛选和排序。
假设数据存储在名为 `sporter.txt` 的文件中,每行包含一个运动员的姓名和金牌数,以空格分隔。
以下是实现的代码:
```python
# 打开文件并读取数据
with open('sporter.txt', 'r') as f:
lines = f.readlines()
# 将每行的数据转换为元组 (name, gold)
data = [(line.strip().split()[0], int(line.strip().split()[1])) for line in lines]
# 筛选金牌数大于20的运动员并排序
selected = sorted([d for d in data if d[1] > 20], key=lambda x: x[1], reverse=True)
# 输出结果
for s in selected:
print(s)
```
解释一下代码:
1. 使用 `with open(...) as f` 语句打开文件并读取每行数据。
2. 使用列表推导式将每行的数据转换为元组 `(name, gold)`。
3. 使用列表推导式筛选出金牌数大于20的运动员,并使用 `sorted` 函数按金牌数降序排序。
4. 遍历筛选后的结果并输出。
阅读全文