python中字典如何排序

 2025-09-13  阅读 103  评论 0

摘要:在Python中,字典(dict)本身是无序的,但自Python 3.7版本起,字典会保留插入顺序。若需要对字典进行排序,可以通过以下方法实现:
1. 按键排序
python
d = {'b':

在Python中,字典(dict)本身是无序的,但自Python 3.7版本起,字典会保留插入顺序。若需要对字典进行排序,可以通过以下方法实现:

python中字典如何排序

1. 按键排序

python

d = {'b': 2, 'a': 1, 'c': 3}

sorted_by_key = dict(sorted(d.items, key=lambda x: x[0]))

结果:{'a': 1, 'b': 2, 'c': 3}

2. 按值排序

python

sorted_by_value = dict(sorted(d.items, key=lambda x: x[1]))

结果:{'a': 1, 'b': 2, 'c': 3}

3. 反向排序

添加 `reverse=True` 参数:

python

sorted_by_key_desc = dict(sorted(d.items, key=lambda x: x[0], reverse=True))

结果:{'c': 3, 'b': 2, 'a': 1}

4. 多条件排序

例如,先按值排序,再按键排序:

python

sorted_multi = dict(sorted(d.items, key=lambda x: (x[1], x[0])))

5. 使用 `OrderedDict`(兼容旧版本)

对于Python 3.7之前的版本,可使用 `collections.OrderedDict` 保持顺序:

python

from collections import OrderedDict

sorted_ordered = OrderedDict(sorted(d.items, key=lambda x: x[0]))

示例:按值降序排列

python

scores = {'Alice': 90, 'Bob': 85, 'Charlie': 95}

sorted_scores = dict(sorted(scores.items, key=lambda x: x[1], reverse=True))

结果:{'Charlie': 95, 'Alice': 90, 'Bob': 85}

  • 使用 `sorted(d.items, key=...)` 对键值对排序。
  • 将结果转换为字典(Python 3.7+ 保留顺序)。
  • 通过 `key` 和 `reverse` 参数控制排序规则。

    版权声明: 知妳网保留所有权利,部分内容为网络收集,如有侵权,请联系QQ793061840删除,添加请注明来意。

    原文链接:https://www.6g9.cn/bkkp/dd784Az5VV1VVBg.html

    发表评论:

    关于我们
    知妳网是一个专注于知识成长与生活品质的温暖社区,致力于提供情感共鸣、实用资讯与贴心服务。在这里,妳可以找到相关的知识、专业的建议,以及提升自我的优质内容。无论是职场困惑、情感心事,还是时尚美妆、健康生活,知妳网都能精准匹配妳的需求,陪伴妳的每一步成长。因为懂妳,所以更贴心——知妳网,做妳最知心的伙伴!
    联系方式
    电话:
    地址:广东省中山市
    Email:admin@qq.com

    Copyright © 2022 知妳网 Inc. 保留所有权利。 Powered by

    页面耗时0.0675秒, 内存占用1.7 MB, 访问数据库19次