python若何对字典排序?
对字典进行排序?这实际上是一个伪命题,搞分明python字典的界说---字典自身默许以key的字符程序输入显示---就像咱们用的实在的字典同样,依照abcd字母的程序陈列,而且实质上各自不前后关系,是一个哈希表的构造。
但实际使用中咱们的确有这类排序的“需要”-----依照values的值“排序”输入,或许依照此外希奇的程序进行输入,咱们只要要把字典转化成list或许tuple,把字典每一一对键值转化为list中的两位子list或许子tuple再输入,就能够达到咱们的目的:
举例以下:
d1 = {'a':1,'c':4,'b':2,'d':3} d2 = {2:1,3:4,4:2,1:5,5:3} d3 = {'01': {'name': '电脑', 'price': 3000}, '02': {'name': '鼠标', 'price': 50}, '03': {'name': '洗发水', 'price': 30}, '04': {'name': '微波炉', 'price': 998}, '05': {'name': '手机', 'price': 1500}}
相干保举:《Python视频教程》
需要一:依照字典的key/value进行排序输入
办法一:应用sorted函数
sorted(d1.items(),key = lambda x:x[0],reverse = True) # reverse = True:是递加程序输入,没有写默许是升序输入 key = lambda x:x[0]示意正在d1.items()的输入内容中的第一列作为排序根据,假如是依照value排序则改为x[1]便可。
d1/d2字典比拟简略,都好了解,上面来看看若何对d3这类嵌套类型的字典进行排序:
sorted(d.items(),key=lambda x:x[1]['price'])
办法二:应用oprator内建模块
import operator sorted(d1.items(),key = operator.itemgetter(1))
此模块今朝试验关于d3这类数据构造还没有胜利。
以上就是python若何对字典进行排序的具体内容,更多请存眷资源魔其它相干文章!
标签: 排序 Python python教程 python编程 python使用问题 字典
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。
抱歉,评论功能暂时关闭!