Python字典“键”和“值”的排序5种方法
作者:局外人一枚 时间:2022-01-13 04:45:42
使用 sorted() 函数
使用 sorted() 函数对字典进行排序,将其转换为元组列表,再按照指定的键或者值进行排序。
按照键排序的示例代码
d = {'apple': 4, 'banana': 2, 'pear': 1, 'orange': 3}
sorted_d = dict(sorted(d.items(), key=lambda x: x[0]))
print(sorted_d)
结果如下:
按照值排序的示例代码
d = {'apple': 4, 'banana': 2, 'pear': 1, 'orange': 3}
sorted_d = dict(sorted(d.items(), key=lambda x: x[1]))
print(sorted_d)
结果如下:
使用 itemgetter() 函数
可以使用 operator 模块的 itemgetter() 函数对字典进行排序,将其转换为元组列表,然后按照指定的键或者值进行排序。
按照键排序的示例代码
from operator import itemgetter
d = {'apple': 4, 'banana': 2, 'pear': 1, 'orange': 3}
sorted_d = dict(sorted(d.items(), key=itemgetter(0)))
print(sorted_d)
结果如下:
按照值排序的示例代码
from operator import itemgetter
d = {'apple': 4, 'banana': 2, 'pear': 1, 'orange': 3}
sorted_d = dict(sorted(d.items(), key=itemgetter(1)))
print(sorted_d)
结果如下:
使用 OrderedDict 类
可以使用 collections 模块的 OrderedDict 类对字典进行排序。OrderedDict 是一个有序的字典,它保留了元素插入的顺序。
按照键排序的示例代码
from collections import OrderedDict
d = {'apple': 4, 'banana': 2, 'pear': 1, 'orange': 3}
sorted_d = OrderedDict(sorted(d.items(), key=lambda x: x[0]))
print(sorted_d)
结果如下:
按照值排序的示例代码
from collections import OrderedDict
d = {'apple': 4, 'banana': 2, 'pear': 1, 'orange': 3}
sorted_d = OrderedDict(sorted(d.items(), key=lambda x: x[1]))
print(sorted_d)
结果如下:
使用 zip() 函数
可以使用 zip() 函数将字典的键和值分别转换为列表,然后按照指定的键或者值进行排序,最后将排序后的键和值重新组成字典。
按照键排序的示例代码
d = {'apple': 4, 'banana': 2, 'pear': 1, 'orange': 3}
keys = list(d.keys())
values = list(d.values())
sorted_keys = sorted(keys)
sorted_values = [d[k] for k in sorted_keys]
sorted_d = dict(zip(sorted_keys, sorted_values))
print(sorted_d)
结果如下:
照值排序的示例代码
d = {'apple': 4, 'banana': 2, 'pear': 1, 'orange': 3}
keys = list(d.keys())
values = list(d.values())
sorted_values = sorted(values)
sorted_keys = [keys[values.index(v)] for v in sorted_values]
sorted_d = dict(zip(sorted_keys, sorted_values))
print(sorted_d)
结果如下:
使用 Pandas 库
可以使用 Pandas 库将字典转换为 DataFrame,然后按照指定的键或者值进行排序,最后将排序后的 DataFrame 转换为字典。
按照键排序的示例代码
import pandas as pd
d = {'apple': 4, 'banana': 2, 'pear': 1, 'orange': 3}
df = pd.DataFrame(list(d.items()), columns=['fruit', 'count'])
sorted_df = df.sort_values('fruit')
sorted_d = dict(zip(sorted_df['fruit'], sorted_df['count']))
print(sorted_d)
结果如下:
按照值排序的示例代码
import pandas as pd
d = {'apple': 4, 'banana': 2, 'pear': 1, 'orange': 3}
df = pd.DataFrame(list(d.items()), columns=['fruit', 'count'])
sorted_df = df.sort_values('count')
sorted_d = dict(zip(sorted_df['fruit'], sorted_df['count']))
print(sorted_d)
结果如下:
来源:https://blog.csdn.net/weixin_42814075/article/details/129724014
标签:Python字典,键,值,排序
0
投稿
猜你喜欢
解决python升级引起的pip执行错误的问题
2021-09-16 18:24:17
如何使用Pytorch完成图像分类任务详解
2023-10-05 16:37:05
iisschlp.wsc [88,25] 属性值无效 : progid
2022-06-08 11:09:59
sql server 编译与重编译详解
2024-01-14 11:02:59
python文件拆分与重组实例
2021-10-10 18:10:25
go语言 xorm框架 postgresql 的用法及详细注解
2024-04-25 15:26:45
浅析Python字符串索引、切片、格式化
2023-09-26 07:57:20
深度学习TextLSTM的tensorflow1.14实现示例
2022-07-12 06:26:46
Golang测试框架goconvey进行单元测试流程介绍
2024-02-09 04:21:27
python正则表达式re之compile函数解析
2022-12-03 04:24:02
存储过程的输出参数,返回值与结果集
2024-01-17 21:44:30
python pyenv多版本管理工具的使用
2022-03-10 05:21:52
element-ui中表格设置正确的排序及设置默认排序
2024-05-09 15:25:48
ASP中正则表达式的应用
2010-05-27 12:24:00
JavaScript中对象property的删除方法介绍
2024-06-05 09:29:09
Vue日期时间选择器组件使用方法详解
2024-05-02 16:35:27
你知道怎么用Python监控聊天记录吗
2021-09-12 21:58:19
python实现拓扑排序的基本教程
2021-03-24 04:24:02
python绘制发散型柱状图+误差阴影时间序列图+双坐标系时间序列图+绘制金字塔图
2023-09-19 17:50:36
Python的Scrapy爬虫框架简单学习笔记
2023-09-25 06:41:44