python3字典如何进行排序-创新互联

创新互联www.cdcxhl.cn八线动态BGP香港云服务器提供商,新人活动买多久送多久,划算不套路!

创新互联专注于松岭网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供松岭营销型网站建设,松岭网站制作、松岭网页设计、松岭网站官网定制、小程序定制开发服务,打造松岭网络公司原创品牌,更为您提供松岭网站排名全网营销落地服务。

这篇文章将为大家详细讲解有关python3字典如何进行排序,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

创建一个字典

dict1={'a':2,'b':3,'c':8,'d':4}

1、分别取键、值

取字典的所有键,所有的值,利用dict1.keys(),dict1.vaules(),

由于键,值有很多个,所以要加s,另外注意这里要加括号,这样的小细节不注意,很容易犯错。

print(dict1.values(),dict1.keys())

结果:

dict_values([4, 2, 8, 3]) dict_keys(['d', 'a', 'c', 'b'])

可以看出,返回的是列表的形式

2、同时取键、值

同时取字典的键、值,dict1.items(),这里同样加s和括号

print(dict1.items())

结果:

dict_items([('d', 4), ('a', 2), ('c', 8), ('b', 3)])

可以看出,返回的结果是元组组成的列表

也就是说,通过dict1.items()这个函数,把字典形式的键、值,存在了一个元组内。

3、排序

3.1 sorted

先看一下,直接用sorted()排序的情况。

dict1={'a':2,'e':3,'f':8,'d':4}
dict2 = sorted(dict1)
print(dict2)

结果:

['a', 'd', 'e', 'f']

sorted()默认是对字典的键,从小到大进行排序

3.2 、对键反向排序

对键进行反向(从大到小)排序

dict1={'a':2,'e':3,'f':8,'d':4}
dict2 = sorted(dict1,reverse=True)
print(dict2)

结果:

['f', 'e', 'd', 'a']

像这种对键进行排序,往往是为了得到 值(value)

拿到键大,对应的值,如:

print(dict1[dict2[0]])#结果为8

当然我们也可以先拿到所有的key,然后再对key排序

dict1={'a':2,'e':3,'f':8,'d':4}
list1= sorted(dict1.keys(),reverse=True)
print(list1)    # 结果:['f', 'e', 'd', 'a']

3.3、对值排序

同样,用dict1.values()得到所有的values,然后对value排序

dict1={'a':2,'e':3,'f':8,'d':4}
list1= sorted(dict1.values())
print(list1)    #结果:[2, 3, 4, 8]

设值reverse=True 进行反向排序

也可以用dict1.items(),得到包含键,值的元组

由于迭代对象是元组,返回值自然是元组组成的列表

这里对排序的规则进行了定义,x指元组,x[1]是值,x[0]是键

dict1={'a':2,'e':3,'f':8,'d':4}
list1= sorted(dict1.items(),key=lambda x:x[1])
print(list1)

结果:

[('a', 2), ('e', 3), ('d', 4), ('f', 8)]

对键进行排序:

dict1={'a':2,'e':3,'f':8,'d':4}
list1= sorted(dict1.items(),key=lambda x:x[0])
print(list1)

结果:

[('a', 2), ('d', 4), ('e', 3), ('f', 8)]

4 itemgetter

from operator import itemgetter
d = {"a":8,"b":4,"c":12}
print(sorted(d.items(),key=itemgetter(0),reverse=True))
print(sorted(d.items(),key=itemgetter(1),reverse=True))

结果:

[('c', 12), ('b', 4), ('a', 8)]
[('c', 12), ('a', 8), ('b', 4)]

itemgetter(0),获取key

itemgetter(1),获取value

关于python3字典如何进行排序就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

标题名称:python3字典如何进行排序-创新互联
浏览路径:https://www.cdcxhl.com/article10/dsdsdo.html

成都网站建设公司_创新互联,为您提供面包屑导航网站内链云服务器响应式网站虚拟主机定制开发

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都网页设计公司