我正在从一个文件中制作一个直方图,但我得到它的工作,但它没有正确排序。含义100 90 50等。
这是我的代码:
from collections import Counter
data=[]
with open("data.txt", 'r') as f:
for line in f:
line = line.strip()
data.append(str(line))
counts = Counter(data)
for key, size in sorted(counts.items()):
print('{}: {}'.format(key, int(size) * '*'))
这是输出:
100: ******
25: **
50: ***
60: *
65: *
70: **
75: *
80: ****
85: ****
90: ***
有什么建议吗?
编辑:
我的意思是他们按顺序排列数字。所以100,25,50,......我想要它100,90,85,.....
答案 0 :(得分:0)
njzk2绝对正确,谢谢! 你能做到的一种方法就是:
...
line = line.strip()
# casting to 'int' type just before populating in data table..
data.append(int(line))
...
然后,你可以
...
# applying reversed to reorder from ascending order to descending order.
for key, size in sorted(counts.items(), reverse=True):
...