Python 3.7+字典有序,可通过sorted()函数结合items()方法按键或值排序:1. 按键排序用sorted(d.items());2. 按值排序用sorted(d.items(), key=lambda x: x[1]);3. 降序加reverse=True;4. 只获取排序键列表用sorted(d, key=d.get);5. 值列表用sorted(d.values())。

Python中字典本身是无序的,但从Python 3.7+开始,字典保持插入顺序。如果要按键或值进行排序,可以使用内置的sorted()函数结合字典的.items()方法来实现。
使用sorted()对字典的键进行升序排序:
d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
<h1>按键排序</h1><p>sorted_by_key = dict(sorted(d.items()))
print(sorted_by_key)</p><h1>输出: {'apple': 4, 'banana': 3, 'orange': 2, 'pear': 1}</h1>通过设置sorted()的key参数为lambda x: x[1],可以按值排序:
d = {'banana': 3, 'apple': 4, 'pear': 1, 'orange': 2}
<h1>按值升序排序</h1><p>sorted_by_value = dict(sorted(d.items(), key=lambda x: x[1]))
print(sorted_by_value)</p><h1>输出: {'pear': 1, 'orange': 2, 'banana': 3, 'apple': 4}</h1><h1>按值降序排序</h1><p>sorted_by_value_desc = dict(sorted(d.items(), key=lambda x: x[1], reverse=True))
print(sorted_by_value_desc)</p><h1>输出: {'apple': 4, 'banana': 3, 'orange': 2, 'pear': 1}</h1>有时你只需要排序后的键或值:
立即学习“Python免费学习笔记(深入)”;
# 获取按值排序的键列表 keys_sorted_by_value = sorted(d, key=d.get) print(keys_sorted_by_value) # 输出: ['pear', 'orange', 'banana', 'apple'] <h1>获取排序后的值列表</h1><p>values_sorted = sorted(d.values()) print(values_sorted)</p><h1>输出: [1, 2, 3, 4]</h1>
基本上就这些。用sorted()配合key参数灵活控制排序方式,再转回字典即可。不复杂但容易忽略细节。
以上就是怎么使用python对字典进行排序?的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号