从文件中读取浮点数并排序到屏幕

时间:2016-03-14 01:53:35

标签: python sorting

我正在尝试读取包含浮点数的文件,然后我将其排序并打印到屏幕上。我已经能够在程序中包含的列表中执行此操作,因此我假设如果我可以读取文件并将数据输入到列表中,那么我可以对其进行排序。数据以逗号分隔,因此我不确定是否应该使用CSV库。 这是我的代码段:

print "Program to read numbers from file and sort"
mylist=open ("numbers.txt").readlines() 
sorted (mylist)
print (mylist)

程序输出似乎根本没有排序。我确实尝试使用.splitlines(“'”)但它会导致错误。

1 个答案:

答案 0 :(得分:4)

sorted()只返回列表的排序版本。要就地更改列表,请使用list.sort()

print "Program to read numbers from file and sort"
mylist=open ("numbers.txt").readlines() 
mylist.sort()
print (mylist)

如果您确实需要所有浮点数的列表,请改用.read()并给.sort()一个键:

mylist = open("numbers.txt").read().split(",")
mylist.sort(key=float)

如果你想要文件中的一堆子列表:

mylist = open("numbers.txt")
mylist = [sorted(line.split(","), key=float) for line in mylist]