从巨大的文本文件中列出前 5 个大数字的最佳方法

试图找到最好和最简单的方法来列出 150G 文本文件中的前 5 个数字。


我正在搜索的文件每行中只有数字,如下所示。


456789876

098765

36

48987

4509876

.

.

.

尝试了下面的程序,它仍然只显示数字中的第一个数字,而不是完整的数字。


from heapq import nlargest


data=open('number.txt','r')

text=data.read()

print (text)

print nlargest(5, (text))

data.close()

还有其他方法可以选择前5名吗?


料青山看我应如是
浏览 136回答 2
2回答

慕仙森

输入:456789876098765364898745098765634564734573462346745623542373483656    代码:data=open('number.txt','r')text=data.readlines()#read the file line to line and introduce in a list of stringnumbers = map(int, text)#convert the list of string in list of intnumbers.sort()#sort your listprint (numbers[-5:])#print the 5 largestprint (numbers[:5])#print the 5 smaller结果:[235423, 563456, 4509876, 47345734, 456789876][3, 36, 656, 6234, 7348]
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python