Python中常用的字典键和值排的方法

 更新时间:2023年03月13日 08:26:30   作者:Python数据挖掘  
这篇文章主要为大家详细介绍了5种使用最多的Python字典 “键“ 和 “值“ 排序的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下

使用 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)

结果如下:

以上就是Python中常用的字典键和值排的方法的详细内容,更多关于Python字典键 值排序的资料请关注脚本之家其它相关文章!

相关文章

  • Python安全隐患最新URL解析漏洞防范措施

    Python安全隐患最新URL解析漏洞防范措施

    这篇文章主要为大家介绍了Python安全隐患,最新URL解析漏洞的防范措施,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2024-01-01
  • OpenCV利用python来实现图像的直方图均衡化

    OpenCV利用python来实现图像的直方图均衡化

    这篇文章主要介绍了OpenCV利用python来实现图像的直方图均衡化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • Python中出现IndentationError:unindent does not match any outer indentation level错误的解决方法

    Python中出现IndentationError:unindent does not match any outer

    今天在网上copy的一段代码,代码很简单,每行看起来该缩进的都缩进了,运行的时候出现了如下错误,IndentationError: unindent does not match any outer indentation level,如果看起来缩进正常所有tab与空格混用就会出现这个问题
    2019-01-01
  • python switch 实现多分支选择功能

    python switch 实现多分支选择功能

    这篇文章主要介绍了python switch 实现多分支选择功能,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • python爬虫分布式获取数据的实例方法

    python爬虫分布式获取数据的实例方法

    在本篇内容里小编给大家整理的是一篇关于python爬虫分布式获取数据的实例方法,有兴趣的朋友们可以参考下。
    2020-11-11
  • python爬虫快速响应服务器的做法

    python爬虫快速响应服务器的做法

    在本篇文章里小编给大家整理的是一篇关于python爬虫快速响应服务器的做法,需要的朋友们可以参考下。
    2020-11-11
  • Django跨域请求问题的解决方法示例

    Django跨域请求问题的解决方法示例

    这篇文章主要给大家介绍了关于Django跨域请求问题解决的相关资料,文中介绍的实现方法包括:使用django-cors-headers全局控制、使用JsonP,只能用于Get方法以及在views.py里设置响应头,只能控制单个接口,需要的朋友可以参考下
    2018-06-06
  • python pytest进阶之conftest.py详解

    python pytest进阶之conftest.py详解

    这篇文章主要介绍了python pytest进阶之conftest.py详解,如果我们在编写测试用的时候,每一个测试文件里面的用例都需要先登录后才能完成后面的操作,那么们该如何实现呢?这就需要我们掌握conftest.py文件的使用了,需要的朋友可以参考下
    2019-06-06
  • django之常用命令详解

    django之常用命令详解

    下面小编就为大家带来一篇django之常用命令详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-06
  • Python3处理HTTP请求的实例

    Python3处理HTTP请求的实例

    今天小编就为大家分享一篇Python3处理HTTP请求的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05

最新评论