我在python中有一个dict
struture,
{'68': 1, '10': 2, '3': 1, '50': 1}
我想打印出代表dict
的直方图。问题是我不确定如何以产生直方图的方式对dict
进行排序。
我看过很多关于如何通过键或值按递增/递减顺序对dict
进行排序的帖子,但没有任何内容以直方图格式排列;其中最大值的键位于中心,其他值分布在两侧,以创建一个漂亮的山峰图。
目前我可以用直方图类型格式打印dict
,但同样,它不会被分类为类似直方图的结构
关于如何将dict
排序为直方图的任何想法?也许numpy
或collections
有一些我不知道的事情?
答案 0 :(得分:0)
将字典转换为(键,值)元组列表。
>>> d = {'68': 1, '10': 2, '3': 1, '50': 1}
>>> d = [(int(key), value) for key, value in d.iteritems()]
按每个元组的第一项对列表进行排序
>>> from operator import itemgetter
>>> d.sort(key = itemgetter(0))
>>> print d
[(3, 1), (10, 2), (50, 1), (68, 1)]
>>>