Python如何不使用pandas等库按另一已排序字典的顺序高效排序字典
最高效实现方案
你已经得到了明确的目标键顺序(即dic1_sorted的键序列),不需要额外执行排序运算,直接按该顺序遍历取值构造新字典即可,时间复杂度为O(n),是理论上的最优解。
核心代码只有一行:
dic2_sorted = {k: dic2[k] for k in dic1_sorted}
运行该代码得到的结果完全匹配你给出的预期输出。如果存在dic1_sorted的键未在dic2中出现的场景,可以用get方法指定默认值避免抛出KeyError:
# 示例:缺失的键对应胜率默认设为0 dic2_sorted = {k: dic2.get(k, 0) for k in dic1_sorted}
内容的提问来源于stack exchange,提问作者bot 2
相关产品推荐
相关产品推荐

