如何在Python 3.7中按键从高到低排序字典?
Python 3.7 实现字典按键降序排列
Python 3.7 及后续版本的字典是插入有序的,因此可以通过排序键值对的方式构建新的降序字典,以下是两种常用实现方式:
方法一:字典推导式结合键排序
original_dict = {1: 'a', 2: 'b', 3: 'c'} sorted_dict = {k: original_dict[k] for k in sorted(original_dict.keys(), reverse=True)} print(sorted_dict) # 输出: {3: 'c', 2: 'b', 1: 'a'}
通过 sorted(original_dict.keys(), reverse=True) 对原字典的键进行降序排序,再用字典推导式依次取出对应键值对,构建新的有序字典。
方法二:通过 sorted 处理键值对后转字典
original_dict = {1: 'a', 2: 'b', 3: 'c'} sorted_dict = dict(sorted(original_dict.items(), key=lambda x: x[0], reverse=True)) print(sorted_dict) # 输出: {3: 'c', 2: 'b', 1: 'a'}
sorted(original_dict.items(), key=lambda x: x[0], reverse=True) 会按键(每个元组的第一个元素)对键值对进行降序排序,最后用 dict() 将排序后的元组列表转换为字典。
注意:字典排序操作会返回新字典,原字典的顺序不会被修改。
内容的提问来源于stack exchange,提问作者Robert Selangor
相关产品推荐
相关产品推荐

