python中如何对字典排序,python字典怎么排序
python如何对字典排序?
给字典排序?其实这是个伪命题。弄清楚python字典的定义——字典本身默认是按key的字母顺序输出和显示的——就像我们使用的真实字典一样,是按abcd字母的顺序排列的,它们之间本质上没有顺序关系。它是一个散列表结构。
但是,在实际应用中,我们确实有这种“需求”——按照值的值对输出进行“排序”,或者按照其他一些奇怪的顺序输出。我们只需要把字典转换成一个列表或者元组,把字典中的每一对键值转换成列表中的两个子列表或者子元组然后输出,就可以达到我们的目的:
例子如下:
d1={a:1, c:4, b:2, d:3}
d2={2:1,3:4,4:2,1:5,5:3}
D3={01: { 姓名 : 计算机,价格 3360 3000}, 02 3360 { 姓名 3360 鼠标,价格 3360 50}, 03 3360
价格 3360 30 , 04 : { 姓名 3360 微波炉,价格 3360 998 , 05 3360 { 姓名 3360 手机,价格 : 1500}}}
需求1:按照字典的键/值排序输出。
方法一:使用sorted函数
Sorted (d1.items(),key=lambda x:x [0],reverse=true) # reverse=true:按降序输出,如果未写入,默认情况下按升序输出。
Key=lambda x:x[0]表示将d1.items()输出内容中的第一列作为排序依据。如果是按值排序,可以改成x[1]。D1/d2词典相对简单易懂。我们来看看如何对嵌套字典d3进行排序:
已排序的(d.items(),key=lambda x : x[1][ price ])方法二:使用oprator内建模块
进口经营者
Sorted (d1.items(),key=operator.itemgetter (1))该模块目前的实验对于d3数据结构还没有成功。这就是python如何对字典进行排序的细节。更多信息请关注热门IT软件开发工作室其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。