如何对包含字母和数字的文件进行排序?

2024-06-16 10:04:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我想对一个由多个单词和字母组成的文件进行排序,但似乎做不到。你知道吗

到目前为止我已经做到了:

def footballPlayers():    
    file = open("footballNumbers.txt", "r")
    line = file.readlines()
    i = 0
    char = line[0]
    while not line[0].isdigit():
        i = i + 1

    footballName = line[0 : i - 1]
    footballNumber = line[i: ]

    print (footballName, footballNumber)

footballPlayers()

好像什么都没印出来!你知道吗

文件如下所示:

Cristiano Ronaldo 7
Ander Herrera 21
Mario Balotelli 9

等等

我需要让他们整理文件,但不明白为什么没有得到打印也


Tags: 文件txt排序def字母lineopen单词
1条回答
网友
1楼 · 发布于 2024-06-16 10:04:40

要按分数对行进行排序,需要使用key-function从行中提取数字分数:

def get_score(line):
    return int(line.split()[-1])

然后您可以轻松地进行排序:

>>> lines = ['Cristiano Ronaldo 7', 'Ander Herrera 21', 'Mario Balotelli 9']
>>> lines.sort(key=get_score)
>>> lines
['Cristiano Ronaldo 7', 'Mario Balotelli 9', 'Ander Herrera 21']

相关问题 更多 >