博客
关于我
python 字典sorted自定义排序,按照key or value排序
阅读量:797 次
发布时间:2023-03-07

本文共 1319 字,大约阅读时间需要 4 分钟。

无序字典按照key自定义排序

在Python中,对无序字典按照自定义顺序进行排序,可以通过以下方法实现。以下示例展示了如何根据指定的sort_order列表对字典进行排序。

示例代码如下:

test_dict = {'1': '小明', '3': '小红', '2': '小张'}sort_order = ['1', '2', '3', '>3']for key in test_dict:    if key not in sort_order:        sort_order.append(key)allsites_ordered = OrderedDict(sorted(test_dict.items(), key=lambda item: sort_order.index(item[0])))print(test_dict)print(allsites_ordered)

输出结果如下:

{'1': '小明', '3': '小红', '2': '小张'}OrderedDict([('1', '小明'), ('2', '小张'), ('3', '小红')])

字典列表按照自定义value排序

对于字典列表,按照自定义的value排序可以参考以下方法。以下示例展示了如何根据指定的value排序顺序对字典列表进行排序。

示例代码如下:

test_dict_list = [    {'语文': '小明', '数学': '小红', '英语': '小张'},    {'数学': '小明', '语文': '小红', '英语': '小张'},    {'英语': '小明', '数学': '小红', '语文': '小张'}]value_sort = ['小明', '小张']for temp_dic in test_dict_list:    for key, value in temp_dic.items():        if key == '英语' and value not in value_sort:            value_sort.append(value)res_list = sorted(test_dict_list, key=lambda x: value_sort.index(x['英语']))print(test_dict_list)print(res_list)

输出结果如下:

[    {'语文': '小明', '数学': '小红', '英语': '小张'},    {'数学': '小明', '语文': '小红', '英语': '小张'},    {'英语': '小明', '数学': '小红', '语文': '小张'}][    {'英语': '小明', '数学': '小红', '语文': '小张'},    {'语文': '小明', '数学': '小红', '英语': '小张'},    {'数学': '小明', '语文': '小红', '英语': '小张'}]

以上代码展示了如何对无序字典和字典列表进行自定义排序,具体按照key或value的自定义顺序进行排序。

转载地址:http://miofk.baihongyu.com/

你可能感兴趣的文章
Python UI自动化测试集成UnitTest
查看>>
python unicode-escape
查看>>
Python unittest mock:是否可以在测试时模拟方法默认参数的值?
查看>>
Python unittest单元测试框架 TestSuite测试套件
查看>>
PYTHON调离线语音合成并实时播放
查看>>
python unittest高级特性!
查看>>
Python unittest:如何将标准输出消息临时重定向到缓冲区并测试其内容?
查看>>
Python urllib/Requests下载文件失败,但浏览器下载失败
查看>>
Python urllib2 文件上传问题
查看>>
Python urllib2.open 连接由对等错误重置
查看>>
python urllib2详解及实例
查看>>
Python url请求提示certificate verify failed unable to get local issuer certificate
查看>>
Python UTC 日期时间对象的 ISO 格式不包括 Z(祖鲁语或零偏移)
查看>>
python valueerror object2_python遇到错误记录
查看>>
python vars的作用
查看>>
Python vcrpy库:HTTP请求记录和重放
查看>>
Python virtualenv
查看>>
python vue3实现大文件分段续传(断点续传)--带暂停和继续功能
查看>>
Python WebDriver如何打印整个页面源(html)
查看>>
Python WebSocket自动化测试:构建高效接口测试框架
查看>>