You need to enable JavaScript to run this app. 如何按照指定优先顺序重排Python字典的键
优惠活动
大模型
产品
解决方案
定价
更多

如何按照指定优先顺序重排Python字典的键

Python按指定优先顺序重排字典键实现

排序规则

  • 优先按照指定的优先顺序列表排列原字典中存在的对应键,优先列表中不存在于原字典的键不会被新增到结果中
  • 原字典中不在优先顺序列表内的键,统一放在排序结果末尾

实现代码

注:Python 3.7及以上版本原生字典默认有序,更低版本可将代码中的普通字典替换为collections.OrderedDict实现相同效果

def sort_dict_by_preferred_order(original_dict: dict, preferred_order: list) -> dict:
    sorted_dict = {}
    # 按优先顺序添加存在的键
    for key in preferred_order:
        if key in original_dict:
            sorted_dict[key] = original_dict[key]
    # 添加不在优先列表中的剩余键
    for key in original_dict:
        if key not in preferred_order:
            sorted_dict[key] = original_dict[key]
    return sorted_dict

示例验证

输入示例:

original_dict = {'first_name':'Jane', 'occupation': 'astronaut', 'age':27, 'last_name':'Doe'}
preferred_order = ['first_name', 'last_name', 'age', 'location']

调用方法输出结果:

print(sort_dict_by_preferred_order(original_dict, preferred_order))
# 输出:{'first_name': 'Jane', 'last_name': 'Doe', 'age': 27, 'occupation': 'astronaut'}

内容的提问来源于stack exchange,提问作者eternal_student

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 21:54:04