将列表字典转换为词典列表

时间:2019-02-22 13:06:47

标签: python list dictionary datatable

我正在尝试将列表字典转换为可在Dash DataTable中使用的字典列表。 例如:

In:
d={
'food':['apple','sausage','cat'],
'kcal':[50,200,500],
'price':['1$','2$','3 dogs']
}
Out:
list = [
{'food':'apple', 'kcal':50, 'price':'1$'},
{'food':'sausage', 'kcal':200, 'price':'2$'},
{'food':'cat', 'kcal':500, 'price':'3 dogs'}
]

对于每个值,键都应重复,看起来像是如果在DataTable的“行”中返回此类型,它将使用键作为列名,并且值将放置在列下。

我现在想到的是:

list = []
for v in range(len(d['food'])):
    list.append({'food': d['food'][v], 'kcal': d['kcal'][v], 'price': d['price'][v]})

print (list)
[{'food': 'apple', 'kcal': 50, 'price': '1$'}, {'food': 'sausage', 'kcal': 200, 'price': '2$'}, {'food': 'cat', 'kcal': 500, 'price': '3 dogs'}]

我想可以,但是如果列可以是动态的,那就更好了。

0 个答案:

没有答案