如何基于字典值映射Python列表元素,获得对应目标值列表
Python列表基于字典映射的实现方法
Python 原生list对象没有内置的map方法,该方法是 pandas Series 的专属接口,因此你写的原代码会直接触发属性错误,可通过以下两种常用方式实现需求:
- 方案1:使用列表推导式(可读性最高,最推荐)
l = ['apple', 'lemmon', 'banana'] x = {'apple':1, 'lemmon':2, 'banana':3, 'chery':4} # 确定列表中所有元素都存在于字典键中时可直接取值 l = [x[item] for item in l] print(l) # 输出 [1, 2, 3]
如果存在元素不在字典中的场景,可以用get方法指定默认值避免报错:
# 示例:找不到对应键时默认返回0 l = [x.get(item, 0) for item in l]
- 方案2:使用Python内置
map函数
l = ['apple', 'lemmon', 'banana'] x = {'apple':1, 'lemmon':2, 'banana':3, 'chery':4} l = list(map(x.get, l)) print(l) # 输出 [1, 2, 3]
内容的提问来源于stack exchange,提问作者taga
相关产品推荐
相关产品推荐

