And*_* Ng 5 python dictionary numpy
我有以下数组:
column_names = ['id', 'temperature', 'price']
Run Code Online (Sandbox Code Playgroud)
三个numpy数组如下:
idArry = ([1,2,3,4,....])
tempArry = ([20.3,30.4,50.4,.....])
priceArry = ([1.2,3.5,2.3,.....])
Run Code Online (Sandbox Code Playgroud)
我想将以上内容合并成字典,如下所示:
table_dict = ( {'id':1, 'temperature':20.3, 'price':1.2 },
{'id':2, 'temperature':30.4, 'price':3.5},...)
Run Code Online (Sandbox Code Playgroud)
我可以使用for循环来append创建字典,但列表很大,大约有 15000 行。有人可以告诉我如何使用 pythonzip功能或其他更有效和快速的方法来实现上述要求吗?
您可以使用 listcomp 和函数zip():
[{'id': i, 'temperature': j, 'price': k} for i, j, k in zip(idArry, tempArry, priceArry)]\n# [{'id': 1, 'temperature': 20.3, 'price': 1.2}, {'id': 2, 'temperature': 30.4, 'price': 3.5}]\nRun Code Online (Sandbox Code Playgroud)\n\n如果您的 id 是 1、2、3...并且您使用列表,则您的字典中不需要 id。这是列表中的冗余信息。
\n\n[{'temperature': i, 'price': j} for i, j in zip(tempArry, priceArry)]\nRun Code Online (Sandbox Code Playgroud)\n\n您还可以使用字典的字典。字典中的查找必须比列表中的查找快。
\n\n{i: {'temperature': j, 'price': k} for i, j, k in zip(idArry, tempArry, priceArry)}\n# {1: {'temperature': 20.3, 'price': 1.2}, 2: {'temperature': 30.4, 'price': 3.5}}\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3787 次 |
| 最近记录: |