You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据另一字典的键对Python字典进行排序?

按另一个字典的键顺序重新排序字典

给定两个键集合相同但键顺序不同的字典:

dict_1 = {"name" : "Joe", "class" : "8", "marks" : "80"}
dict_2 = {"class" : "9", "marks" : "90", "name" : "Adam"}

需求是将dict_2的键顺序调整为和dict_1完全一致,得到{"name" : "Adam", "class" : "9", "marks" : "90"}。

解决方案

利用Python 3.7+字典的插入有序特性,通过遍历dict_1的键来重新构建dict_2:

dict_1 = {"name" : "Joe", "class" : "8", "marks" : "80"}
dict_2 = {"class" : "9", "marks" : "90", "name" : "Adam"}

# 按dict_1的键顺序生成新字典
sorted_dict_2 = {key: dict_2[key] for key in dict_1}
print(sorted_dict_2)
# 输出结果:{'name': 'Adam', 'class': '9', 'marks': '90'}

说明

  • 字典推导式会严格按照dict_1的键的原有顺序,从dict_2中取出对应键值对,构建出符合要求的有序字典。
  • 由于题目明确两个字典键集合完全相同,无需额外处理键缺失的情况;若存在键不匹配的场景,可添加判断条件:{key: dict_2[key] for key in dict_1 if key in dict_2}。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 02:40:18