2016-04-28 85 views
0

我想知道如何在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

回答

0

試試這個:

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

我們可以在第e逗號並將其映射到整數列表。然後,我們對該列表進行排序並將其加回到逗號分隔的整數字符串中。

相關問題