python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > python字典排序

python字典排序浅析介绍

作者:DonngZH

在数据处理时,为了方便统计经常使用字典存储数据。python中的字典是‘键:值’对的可变序列。排序时可以指定根据键或者是值为对象进行排序。用到的函数是sorted(),需要的朋友们下面随着小编来一起学习吧

1.语法规则

1-1 代码实例

sorted(iterable, key=None,reverse=False)

1-2 参数说明

(1)iterable:代表的是可迭代的对象。

(2)key=None:用来进行比较的元素,具体的值来源于可迭代的对象中。

(3)reverse=False:排序规则,reverse=False升序(默认),reverse=True降序。

2.对字典排序

2-1 简单示例

# 字典排序
entity_dict = {'金日成': 1,'西班牙': 4,'碧月珠': 1}
# 按照字典的值进行排序
entity_dict_1 = sorted(entity_dict.items(), key=lambda x: x[1])
# 按照字典的键进行排序
entity_dict_2 = sorted(entity_dict.items(), key=lambda x: x[0])

排序结果:

2-2 说明

以entity_dict.items()返回的列表中的每一个元素,作为匿名函数(lambda)的参数,x[0]即用“键”排序,x[1]即用“值”排序;返回结果为新的列表,可以通过dict()函数转为字典格式。

2-3 复杂示例

entity_dict = [{'name': '金日成', 'count': 1}, {'name': '西班牙','count':4}, {'name': '碧月珠', 'count': 2},{'name': '金日成', 'count': 6}]
#按name排序
entity_dict_1 = sorted(entity_dict, key=lambda x: x['name'])
#按count降序排序
entity_dict_2 = sorted(entity_dict, key=lambda x: x['count'],  reverse=True)
#name相同按count降序排序
entity_dict_3 = sorted(entity_dict, key=lambda x: (x['name'], -x['count']))

排序结果:

2-4 说明

以列表里面的每一个字典元素作为匿名函数的参数,然后根据需要用键取字典里面的元素作为排序的条件,如x[‘name’]即用name键对应的值来排序。

到此这篇关于python字典排序浅析介绍的文章就介绍到这了,更多相关python字典排序内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文