【发布时间】:2019-10-28 05:28:34
【问题描述】:
是否有更高效和/或 python 的方式来使用字典进行以下列表转换?
d = {1:2, 2:3, 3:4}
e = [1 , 1, 2, 2, 3, 1]
f=[]
for l in e:
f.append(d[l])
f
【问题讨论】:
标签: python
是否有更高效和/或 python 的方式来使用字典进行以下列表转换?
d = {1:2, 2:3, 3:4}
e = [1 , 1, 2, 2, 3, 1]
f=[]
for l in e:
f.append(d[l])
f
【问题讨论】:
标签: python
使用map(高效)
f = map(d.get, e)
对于更大的数据集和复杂的操作,请使用 pandas
>>> import pandas as pd
>>> s = pd.Series(e)
>>> s.map(d)
f = [d[key] for key in e]
对于 1000 个项目的列表,
列表理解: 2.346038818359400 × 10-4
地图: 9.059906005859375 × 10-6
【讨论】:
map 包装在 list
map 返回一个map 对象,它不是生成器