如何在Python中对行中的文本文件进行排序

问题描述:

我想知道如何在Python中输出文本文件时按升序对数字进行排序。如何在Python中对行中的文本文件进行排序

目前我可以按字母顺序排列我的文本文件的名称;我可以按照升序对我的数字进行排序,但是我想保留与同一行中的学生相对应的分数。

import operator 
class1 = open('sample.txt','r') 
sort = sorted(class1,key=operator.itemgetter(0)) 
for eachline in sort: 
    print(eachline) 

这是迄今为止代码和输出是这样的:

Holy = 10 ,6 ,10 

Jhnn = 9 ,0 ,1 

Oli = 5 ,7 ,6 

但是,你会怎么数量进行排序,以便它看起来像这样:

Holy = 6 ,10 ,10 

Jhnn = 0 ,1 ,9 

Oli = 5 ,6 ,7 
+0

好,你要打印的文本行,所以第一件事是查看是否元素是整数,然后对其进行排序 – Mixone

+0

阅读我的意思是对不起 – Mixone

+0

感谢您的帮助,我会尝试, – polihero

试试这个:

for eachline in sort: 
    line = map(int, eachline.split(",")) 
    sorted_line = sorted(line) 
    print(" ,".join(map(str, sorted_line))) 

我们可以在第e逗号并将其映射到整数列表。然后,我们对该列表进行排序并将其加回到逗号分隔的整数字符串中。