将字典中的列表值拆分为多个字典

时间:2020-09-13 09:26:10

标签: python dictionary

如何将带有列表值的字典拆分成多个“行” /字典?

我首先尝试了这种方法,

d={'time':[0,1,2],'angle':[60,120,180],'x':[5,10,15],'curve':[0.1,0.2,0.3]}
keys=list(d.keys())
v1,v2,v3,v4=d.values()
print(keys)
print([list(x) for x  in zip(v1,v2,v3,v4)])

d_new=[]
for i in [list(x) for x  in zip(v1,v2,v3,v4)]:
    d_new.append(dict(zip(keys,i)))

print(d_new)

然后我发现有完全相同的问题,答案完美。 我看到了我也在想知道的某个人的问题,并从那里找到了一个不错的答案。当我从那里使用代码时,就像

d={'time':[0,1,2],'angle':[60,120,180],'x':[5,10,15],'curve':[0.1,0.2,0.3]}

result = [dict(zip(d.keys(), i)) for i in zip(*d.values())]

来源:Split list values inside dictionary to separate dictionaries

但是我不明白为什么要使用*来使d.values()解包,从而使此过程非常简单。

为什么?怎么样?

0 个答案:

没有答案