我有n个包含值的dict,如
之类的列表{"1":[{'q': ['Data'], 'q1': '110'}]}
{"2":[{'q2':["other Data"], "q3" : "exp"},{'q2':["other Data2"], "q3" : "exp2"}]}
我想要这种格式的输出: -
{"1":[{'q': ['Data'], 'q1': '110'}],"2":[{'q2':["other Data"], "q3" : "exp"}]}
{"2":{'q2':["other Data2"], "q3" : "exp2"}
表示zip或我们可以拆分dict键的基础,并为每个键添加一个值(如果存在)。
答案 0 :(得分:1)
dict1.update(dict2)
对你有用吗?这只会使用dict1
中的值更新dict2
。
编辑:
这可能有效:
dicts=[]
dicts.append({"1":[{'q': ['Data'], 'q1': '110'}]})
dicts.append({"2":[{'q2':["other Data"], "q3" : "exp"},{'q2':["other Data2"], "q3" : "exp2"}]})
a=[[{key: j} for key in d2 for j in d2[key]] for d2 in dicts ]
nmax=max(len(x) for x in a)
newdicts=[dict() for i in range(nmax)]
for i in range(nmax):
for j in range(len(a)):
if i < len(a[j]):
newdicts[i].update(a[j][i])
for i in newdicts:
print i
这给了我:
{'1': {'q': ['Data'], 'q1': '110'}, '2': {'q3': 'exp', 'q2': ['other Data']}}
{'2': {'q3': 'exp2', 'q2': ['other Data2']}}