python字典中的sorted是什么?怎么用?

sorted是Python内置函数,用于对字典的键、值或键值对排序,返回新列表不修改原数据。默认对键排序,如sorted(my_dict)返回按键升序的键列表;通过key参数可实现按值排序,如sorted(my_dict.items(), key=lambda item: item[1])返回按键值对按值升序的列表;添加reverse=True可降序排列;常用形式包括sorted(dict)按键排序、sorted(dict.values())按值排序(丢失键关联)、sorted(dict.items(), key=...)自定义排序规则,结合lambda灵活实现各类需求。

Python字典中的 sorted 并不是字典本身的方法,而是一个内置函数,用来对字典的键、值或键值对进行排序。由于字典在 Python 3.7+ 中是有序的(按插入顺序),但有时我们需要按特定规则重新排序,这时就会用到 sorted()

sorted 是什么?

sorted() 是 Python 的内置函数,可以对任何可迭代对象(如列表、元组、字典)进行排序,返回一个排序后的新列表,不会修改原始数据。

对字典使用时,它默认对字典的 进行排序。

怎么用 sorted 对字典排序?

● 按键排序

直接对字典使用 sorted,会返回按键排序的键列表:

my_dict = {'banana': 3, 'apple': 5, 'cherry': 2}
sorted_keys = sorted(my_dict)
# 结果:['apple', 'banana', 'cherry']

如果想得到按键排序的键值对,可以这样:

sorted_dict_by_key = {k: my_dict[k] for k in sorted(my_dict)}

● 按值排序

使用 sorted()key 参数,指定按值排序:

sorted_by_value = sorted(my_dict.items(), key=lambda item: item[1])
# 结果:[('cherry', 2), ('banana', 3), ('apple', 5)]

如果想转回字典:

sorted_dict_by_value = dict(sorted_by_value)

● 逆序排序

添加 reverse=True 实现降序:

sorted(my_dict.items(), key=lambda item: item[1], reverse=True)

常见用法总结

sorted(dict) → 返回排序后的键列表
sorted(dict.keys()) → 同上,更明确
sorted(dict.values()) → 排序后的值列表(丢失键关联)
sorted(dict.items(), key=...) → 按指定规则排序键值对

基本上就这些。sorted 灵活好用,关键是理解 key 参数的作用,配合 lambda 能实现各种排序需求。不复杂但容易忽略细节。