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

如何基于自定义字典对职位头衔字符串列表进行排序?

职位头衔按指定优先级排序实现方案

问题背景

我们有一个定义高级职位优先级的字典,以及一份职位头衔列表,需要按照字典指定的优先级排序,未在字典中的头衔统一排在后面:

优先级字典:

{'ceo': 0, 'founder': 1, 'chairman': 2}

原始头衔列表:

['ceo', 'manager', 'founder', 'partner', 'chairman']

期望排序结果:

['ceo', 'founder', 'chairman', 'manager', 'partner']

实现方法

使用Python内置的sorted()函数,通过key参数自定义排序规则即可实现需求:

代码示例

# 定义优先级映射字典
priority_map = {'ceo': 0, 'founder': 1, 'chairman': 2}
# 原始头衔列表
title_list = ['ceo', 'manager', 'founder', 'partner', 'chairman']

# 执行排序
sorted_titles = sorted(title_list, key=lambda x: priority_map.get(x, len(priority_map)))

# 输出结果
print(sorted_titles)
# 输出:['ceo', 'founder', 'chairman', 'manager', 'partner']

逻辑说明

  • priority_map.get(x, len(priority_map)):对每个头衔x,如果存在于优先级字典中,返回对应的优先级数值;如果不存在,返回字典的长度(这里是3,大于所有已定义的优先级0、1、2),确保未指定优先级的头衔排在后面。
  • sorted()函数会根据key返回的数值从小到大排序,因此指定了优先级的头衔按顺序前置;未指定的头衔因key值相同,会保持它们在原列表中的相对顺序(sorted()是稳定排序算法)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 13:41:11