Разделить список диктов на список ключей, список значений - PullRequest
0 голосов
/ 02 ноября 2018

Рассмотрим следующие list из dict.

food = [{'pizza': 324}, {'sandwich': 78}, {'hot dog': 90}]

Как можно разделить на lists ключи и значения как таковые;

[pizza, sandwich, hot dog]
[324,78,90]

1 Ответ

0 голосов
/ 02 ноября 2018
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)]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...