请考虑以下list
中的dict
。
food = [{'pizza': 324}, {'sandwich': 78}, {'hot dog': 90}]
我该如何将键和值分成lists
;
[pizza, sandwich, hot dog]
[324,78,90]
答案 0 :(得分:4)
keys = food.keys()
values = food.values()
编辑:
我意识到以这种方式分割字典不会保持键和值之间的顺序,因为字典没有顺序。
因此键[0]可能不代表值[0]的价格。如果要使两个列表之间的顺序保持一致,则必须这样做
for key,values in food.items():
keylist.append(key)
valuelist.append(values)
edit2: 尽管以上方法将从字典中检索键和值。您将数据存储在多个列表项中,其中每个项都是一个字典。
如@cristian所指出的那样,这是不必要的,因为字典可以容纳多个项目。
最好将其存储为 食物= {“比萨”:324,“三明治”:78,“热狗”:90}
但是无论如何,您都可以通过
来检索数据keys = []
values = []
for item in food:
keys.append(item.keys())
values.append(item.values())
可以简化为
keys = [*(x.keys() for d in food)]
values = [*(x.values() for x in food)]