Как удалить в списке словарей ключ вместе со значением, по имени ключа?
Есть список, имеющий вид:
[ { 'id': 654321, 'owner_id': 123456, 'track_covers': [], 'url': 'https://**********=1', 'artist': 'Название исполнителя', 'title': 'Название трека', 'duration': 244 } , { 'id': 654321, 'owner_id': 123456, 'track_covers': [], 'url': 'https://**********=1', 'artist': 'Название исполнителя 2', 'title': 'Название трека 2', 'duration': 127 } , { 'id': 654321, 'owner_id': 123456, 'track_covers': [], 'url': 'https://**********=1', 'artist': 'Название исполнителя 3', 'title': 'Название трека 3', 'duration': 269 } ]
На сколько я понимаю, в нем содержатся словари в фигурных скобках {}, а у словарей есть ключи, такие как id или url.
Подскажите пожалуйста, как в подобном списке удалить из содержащихся в нем словарей, определенные ключи вместе с их значениями? Т.е. что бы в итоге осталось:
[ { 'artist': 'Название исполнителя', 'title': 'Название трека' } , { 'artist': 'Название исполнителя 2', 'title': 'Название трека 2' } , { 'artist': 'Название исполнителя 3', 'title': 'Название трека 3']
Ответы (1 шт):
Автор решения: CrazyElf
→ Ссылка
new_dict_list = [{k:v for k,v in d.items() if k in ['artist','title']} for d in dict_list]
[{'artist': 'Название исполнителя', 'title': 'Название трека'},
{'artist': 'Название исполнителя 2', 'title': 'Название трека 2'},
{'artist': 'Название исполнителя 3', 'title': 'Название трека 3'}]
Можно, конечно, и в исходном удалить, но такие удаления часто ведут к неявным ошибкам, обычно лучше сделать новый список из новых объектов.