У меня есть список словарей с различным количеством ключей / значений, я не могу изменить список, потому что он извлечен из другой программы, над которой у меня нет контроля:
l = [{'a': 123, 'b': 234, 'c': 'approved'}, {'a': 456, 'b': 567}, {'a': 678, 'b': 789, 'c': 'approved'}]
Я хочу получить списокзначений для ключа 'a', где ключ 'c' == 'утвержден', если я попытаюсь:
approved_list = [i['a'] for i in l if i['c'] == 'approved']
Я получаю ошибку: KeyError: 'c'
Я предполагаю, потому что у dict [1] нет ключа'c'.
Я попытался получить список словарей, включающий в себя только те, у которых есть ключ 'c', подобный следующему:
dicts_with_approval = [i for i in l if i.keys() == 'c']
, но это просто дает пустой список [].
Помощь оценена.