如何在python中选择文本文件行中的最高分数?

如何在python中选择文本文件行中的最高分数?,python,Python,如何在包含x行的文本文件中选择每行的最高分数 文本文件的布局如下所示 Richard 3 5 7 Bob 4 7 8 Jeff 3 3 5 ect 对于每一行,每个用户的最高数字必须设置为一个变量 我的代码基于此,它查找整个文本文件中的最高值,但需要对文本文件的每一行执行此操作: f = open('data.txt', 'r') data = f.readlines() for range(2,...): max(data) min(data) print max(da

如何在包含x行的文本文件中选择每行的最高分数 文本文件的布局如下所示

Richard 3 5 7
Bob 4 7 8
Jeff 3 3 5
ect

对于每一行,每个用户的最高数字必须设置为一个变量

我的代码基于此,它查找整个文本文件中的最高值,但需要对文本文件的每一行执行此操作:

f = open('data.txt', 'r') 
data = f.readlines()
for range(2,...): 

    max(data)
    min(data)
print max(data), min(data
如果要使用索引来创建特定列,请执行以下操作:

with open("input.txt") as f:
    for line in f:
        spl = line.split()
        print("Highest score for {} is {}".format(spl[0],max(map(int,spl[1]+spl[2]))))))


Highest score for Richard is 5
Highest score for Bob is 7
Highest score for Jeff is 3

解决方案大致如下:

with open('data.txt', 'r') as f:
    for line in f:
        nums_str = line.split()[1:]
        nums = [int(n) for n in nums_str]
        max_in_line = max(nums)
        min_in_line = min(nums)
使用与。。。像语法处理任何异常,并在读取文件后关闭该文件

在大多数情况下,最好逐行遍历文件,而不是在文件非常大的情况下将其全部读入内存。您只需使用f中的for行来迭代文件中的每一行

一些建议包括使用正则表达式来提取数字。但是,使用split函数按空格分割行,并在split函数返回的列表上使用[1:]获取除第一个元素以外的所有元素,速度要快得多

split函数返回表示数字的字符串列表。这就是为什么需要使用列表将它们转换为int。那么得到一个最小值和最大值就很简单了


你已经试过什么了?我们很乐意在您陷入困境时提供帮助,但请不要期望我们为您编写所有代码。很遗憾,我丢失了代码。这可能是一个可悲的借口,但请帮助不要憎恨plzYeah,这不会发生。我相信你可以用十分钟的时间重新开始,如果你遇到问题,就回到这里。祝你有一个愉快的一天。获取所有数字:/\w+?:\d++/g…什么是我不理解的代码有任何方法可以修改代码,使其仅基于指定列并将其设置为变量?指定列是什么意思?
with open('data.txt', 'r') as f:
    for line in f:
        nums_str = line.split()[1:]
        nums = [int(n) for n in nums_str]
        max_in_line = max(nums)
        min_in_line = min(nums)