将列表重组为dict

ps0*_*604 0 python dictionary list python-3.x

给定以下数组:

fields1 = [ 'A1', 'B1', 'C1']
fields2 = [ 'A2', 'B2', 'C2']
array = [fields1, fields2, ...., fieldsN]
Run Code Online (Sandbox Code Playgroud)

我需要以编程方式将数据重新组织到以下对象中:

the_fields = {
       'column1' : ['A1', 'A2'],
       'column2' : ['B1', 'B2'],
       'column3' : ['C1', 'C2']}
Run Code Online (Sandbox Code Playgroud)

怎么能实现这一目标?

cs9*_*s95 5

选项1在词典理解中
zip
使用zipped包装.

fields = [fields1, fields2, ...., fieldsN]
{'column{}'.format(i) : list(v) for i, v in enumerate(zip(*fields), 1)}
Run Code Online (Sandbox Code Playgroud)

{
   'column1' : ['A1', 'A2'],
   'column2' : ['B1', 'B2'],
   'column3' : ['C1', 'C2']   
}
Run Code Online (Sandbox Code Playgroud)

选项2
pd.DataFrame.to_dict
此选项使用pandas API

import pandas as pd

pd.DataFrame(fields).rename(
    columns=lambda x: 'column{}'.format(x + 1)
).to_dict(orient='list')
Run Code Online (Sandbox Code Playgroud)

{
   'column1' : ['A1', 'A2'],
   'column2' : ['B1', 'B2'],
   'column3' : ['C1', 'C2']   
}
Run Code Online (Sandbox Code Playgroud)