#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]