Python 如何重新排列此文件中的行并打印它们?

Python 如何重新排列此文件中的行并打印它们?,python,python-3.x,Python,Python 3.x,这是我的文本文件“words.txt” 这就是我到目前为止所做的: file = open('words.txt','r') for lines in file: number, word = lines.split() numbers = int(number) 所以基本上我把数字从单词中分割出来,然后把数字变成整数,我不确定这是否可行,但是有没有办法把这些单词按最低的数字重新排列成最高的数字?我现在还不清楚。不错,但这取决于最后一行是换行终止的。如果不是,您将得到2只恐龙3

这是我的文本文件“words.txt”

这就是我到目前为止所做的:

file = open('words.txt','r')
for lines in file:
    number, word = lines.split()
    numbers = int(number)

所以基本上我把数字从单词中分割出来,然后把数字变成整数,我不确定这是否可行,但是有没有办法把这些单词按最低的数字重新排列成最高的数字?我现在还不清楚。

不错,但这取决于最后一行是换行终止的。如果不是,您将得到
2只恐龙3只驼鹿
作为输出的第一行。
>>> lines = [l.rstrip('\n') for l in open('words.txt')]
>>> print('\n'.join(sorted(lines, key=lambda l:int(l.split()[0]))))
2 dinosaur
3 moose
6 apple
7 dog
>>> lines = [l.rstrip('\n') for l in open('words.txt')]
>>> print('\n'.join(sorted(lines, key=lambda l:int(l.split()[0]))))
2 dinosaur
3 moose
6 apple
7 dog