python - 将 4 个一对一映射列表转换为字典列表(python)

标签 python pandas numpy dictionary dataframe

我有 4 个列表,其中的元素是一对一映射的。有数以万计的元素。我想创建一个字典,为每个元素提供 4 个属性,然后我想将这些字典放入一个列表中。 (我的最终目标是创建一个 pandas DataFrame 并将其保存为 HDF5 文件。)

是否有一种简单的节省内存的方法来执行此操作,也许使用 zip() 和 dict() 而不是 for 循环?

作为 Python 的工作示例,请考虑:

list1 = ['obj1','obj2','obj3']
list2 = ['cat','dog','tree']
list3 = [7,8,9]
list4 = ['red','green','blue']

所以我的想法是,最后我想要一个字典列表,看起来像

[{'obj':'obj1','type':'cat','num':7,'color':'red'}, 
 {'obj':'obj2','type':'dog','num':8,'color':'green'}, 
 {'obj':'obj3','type':'tree','num':9,'color':'blue'}]

最佳答案

因为你标记了 pandas ,通过使用 to_dict

pd.DataFrame({'obj':list1,'type':list2,'num':list3,'color':list4}).to_dict('r')
Out[1204]: 
[{'color': 'red', 'num': 7, 'obj': 'obj1', 'type': 'cat'},
 {'color': 'green', 'num': 8, 'obj': 'obj2', 'type': 'dog'},
 {'color': 'blue', 'num': 9, 'obj': 'obj3', 'type': 'tree'}]

关于python - 将 4 个一对一映射列表转换为字典列表(python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47946967/

相关文章:

python - 当前房间内 Sprite 的碰撞检测

python - 计算每组行的平均值

python - Pandas 在特定行将数据框拆分为两个数据框

python - 如何在Python中设置类属性

Python:列表字典理解

python - 我想使用 Python 检查 sheet1 中某个列上的值是否也存在于 sheet2 上

python - 我怎样才能修复熵产生的 nan?

python - 在 numpy/scipy 中从 3D 矩阵堆栈构造 3D block 对角矩阵堆栈的有效方法

python - 使用 crontab 运行时 matplotlib savefig 不起作用

python - 检查角度是否落入圆形置信区间的优雅(最有效)方法