Как создать список заданного ключа из словаря

#python #list #dictionary

#python #Список #словарь

Вопрос:

Я хочу создать список, содержащий все значения словаря, сопоставленные с данным ключом. Я знаю только, как извлекать значения из самого верхнего ключа, например:

 >>> dict1 = {"key1": 1, "key2":2, "key3": 3}
>>> list1 = dict1.values()
>>> print(list1)
dict_values([1, 2, 3])
>>> 
>>> 
>>> dict2 = {"key1": {"id": 1, "val": 100}, "key2": {"id": 2, "val": 200}}
>>> list2 = dict2.values()
>>> print(list2)
dict_values([{'id': 1, 'val': 100}, {'id': 2, 'val': 200}])
  

Я хочу иметь возможность извлекать все значения из dict2, которые сопоставлены с key = «id» .
в этом случае:

 [1, 2]
  

Как этого можно достичь?

Ответ №1:

Вы можете перебирать values и для каждого из них, искать на основе 'id' ключа

 >>> [d['id'] for d in  dict2.values()]
[1, 2]