Python——读取文件并确定最低分数和人

标签 python list for-loop file-io split

有一个文件以相同的顺序包含以下信息:LastName FirstName IDnumber score1 score2 finalScore。我的目标是确定整个文件的最低 finalScore 以及获得该分数的学生的 IDnumber。这就是我所拥有的,但我不确定如何将 IDnumber 与分数相关联。

scores = open('text.txt', 'w')
scores.write('Johnson Jeff 1213 91 92 94\n')
scores.write('Johnson Alan 5553 81 82 84\n')
scores.write('Johnson Bart 8973 91 82 98\n')
scores.close()
grades = open('text.txt','r')
listy = []
for i in grades:
    a = i.split()
    for j in a[3:]:
        listy.append(j)
print(min(listy))

最佳答案

使用字典会很容易。但是,如果您想按照现在的方式进行操作,您可以使用带有自定义键的 min(..)

>>> s = ['Johnson Jeff 1213 91 92 94', 'Johnson Alan 5553 81 82 84', 'Johnson Bart 8973 91 82 98']
>>> min(s, key=lambda x: int(x.split()[5]))
'Johnson Alan 5553 81 82 84'

关于Python——读取文件并确定最低分数和人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20675108/

相关文章:

python - 安装 'No module named numpy' 模块时出现 'lap' 错误,如何修复?

python - 在 Python 中解码双重编码的 utf8

python - 模数如何处理大 float

python - 用数据框的行值替换子列表中的第二项

php - 在for循环中向表中插入数据

python - 自动使 matplotlib 图像与其他子图标签齐平

c# - 使用 dapper.NET C# 插入列表

java - 如何使用 java JDBC 获取 MySql 的数据库 "Schema"名称列表

python - 与 Python 中的字典列表关联

python - for循环执行