我有这个场景
x=['a','b','c'] #Header
y=[(1,2,3),(4,5,6)] #data
我需要创建以下结构
[{'a':1, 'b':2, 'c':3}, {'a':4, 'b':5, 'c':6}]
任何更好的方法(像python专家)
rows=[]
for row in range(0,len(y)):
rec={}
for col in range(0, len(x)):
rec[x[col]]=y[row][col]
rows.append(rec)
print(rows)
上面的代码将给出所需的结果,但我正在寻找一个单线程解决方案,如下面的
rows=list( ( {x[col]:y[row][col]} for row in range(0,len(y)) for col in range(0, len(x)) ) )
输出:
[{'a': 1}, {'b': 2}, {'c': 3}, {'a': 4}, {'b': 5}, {'c': 6}]
但这会将列表作为单独的dict而不是合并的dict。任何想法???
答案 0 :(得分:3)