Python中如何为嵌套数组各元素分配对应列名并生成字典序列?
实现方案
方法1:内置函数实现(无第三方依赖)
直接用Python内置的zip函数搭配生成器表达式,一行即可完成转换,无需额外引入依赖,运行效率远高于手写双层循环:
header = ['EXPERIMENT_ID', 'SESSION_ID', 'TRIAL_END', 'TRIAL_START'] data = ([(1, 1, 85.3543804, 74.7716105), (1, 1, 95.3867684, 85.3710747), (1, 1, 105.4189535, 95.4033732)]) datadict = tuple(dict(zip(header, row)) for row in data)
运行后得到的datadict和你预期的输出格式完全一致。
方法2:pandas实现(适合大数据量场景)
如果你的数据量较大,且已经在使用pandas做数据处理,可以用DataFrame自带的to_dict方法快速转换:
import pandas as pd datadict = tuple(pd.DataFrame(data, columns=header).to_dict('records'))
两种方法都可以替代你原来的双层循环写法,大幅减少代码体积同时提升运行效率。
内容的提问来源于stack exchange,提问作者Ang Jit Wei Aaron
相关产品推荐
相关产品推荐

