已知ID-值映射,如何将重复元素列表转换为对应ID列表?
元素到对应ID的映射实现
已知条件
- 目标ID集合:
[1,2,3,4] - 待转换的元素列表:
l = ['A','b','A','A','C'] - ID与值的对应关系:
ID 值 1 'A' 2 'B' 3 'C' 4 'D'
实现方案
需要将元素列表中的每个元素(不区分大小写)映射为对应的ID,最终得到结果 [1,2,1,1,3]。
代码实现
# 定义原始ID-值映射 id_value_map = {1: 'A', 2: 'B', 3: 'C', 4: 'D'} # 构建值(小写统一)到ID的反向映射,兼容大小写差异 value_id_map = {v.lower(): k for k, v in id_value_map.items()} # 待转换列表 l = ['A','b','A','A','C'] # 遍历列表完成映射转换 out = [value_id_map[item.lower()] for item in l] print(out) # 输出结果:[1, 2, 1, 1, 3]
说明
通过构建小写统一的反向映射字典,解决了原列表中元素大小写与映射表不一致的问题(比如'b'对应映射中的'B'),确保每个元素都能准确匹配到对应的ID。
内容的提问来源于stack exchange,提问作者zahra elhamraoui
相关产品推荐
相关产品推荐

