我正在尝试将列表字典转换为可在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'}]
我想可以,但是如果列可以是动态的,那就更好了。