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

如何将列表的每个元素通过字典映射,返回对应的输出列表?

实现方案

你需要的是将列表中的每个元素作为键,取出字典中对应的值生成新列表,最简洁易读的实现方式是使用Python列表推导式:

my_dict = {'a': 1, 'b': 2, 'c': 3}
my_list = ['b', 'a', 'b', 'c', 'c']
# 直接用列表推导式完成映射
my_list_output = [my_dict[item] for item in my_list]
print(my_list_output)
# 输出:[2, 1, 2, 3, 3]

如果需要兼容列表中存在字典不存在的键的场景,可以用字典的get方法避免抛出KeyError,还可以自定义默认返回值:

# 键不存在时默认返回None,也可以传入第二个参数指定默认值,比如my_dict.get(item, 0)
my_list_output = [my_dict.get(item) for item in my_list]

如果要封装为示例中的some_func函数,写法如下:

def some_func(input_list, map_dict):
    return [map_dict[item] for item in input_list]

这种列表推导式的写法是Python处理这类序列映射场景的标准写法,语法直观可读性高,相比map+lambda的组合更符合Python的可读性设计原则。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 18:45:05