python - 使用字典将一个列表转换为另一个列表的最Pythonic方法?

标签 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

最佳答案

使用 map (高效)

f = map(d.get, e)

对于更大的数据集和复杂的操作,请使用 pandas

>>> import pandas as pd
>>> s = pd.Series(e)
>>> s.map(d)

使用list comprehension

f = [d[key] for key in e]

时间

对于 1000 个项目的列表,

列表理解: 2.346038818359400 × 10-4

map : 9.059906005859375 × 10-6

关于python - 使用字典将一个列表转换为另一个列表的最Pythonic方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58586122/

相关文章:

python - 无法通过 __getattr__( __getattribute__ ) 调用 __add__

javascript - 构建一个从浏览器获取数据并将其保存为文本文件的机器人

python - 使用 add_edge_list() 方法创建图形的最佳方法是什么?

python - Tkinter 获取图像以跟随光标并进行先前的移动

python - Windows 上没有名为 'Queue' 的模块

python - 两个二维数组之间的比较

python - 为什么我获取不到这个http_response的状态码?

python - 通过python调用IDA Pro

python - 用一条线绘制每年的时间序列数据

Python正则表达式检索两个不同分隔符之间的数字