Как получить из списка вложенных в список словарей список нужных словарей по условию
Нужно вывесть список словарей, в которых максимальная скорость авто больше заданной скорости. Использовать нужно только конструкцю return.
Вывести нужную информацию мне удалось, но вместе с тем выводятся пустые словари. В чем ошибка?
def powerful_cars(brand_cars: list, minimal_hp: int) -> list:
return [[{k: v for k, v in x.items() if x["HP"] >= minimal_hp} for x in i] for i in brand_cars]
[[{}, {}, {'name': 'Ferrari_488', 'HP': 661}], [{'name': 'Lamborghini_Aventador', 'HP': 690}, {}]]
Ответы (2 шт):
Автор решения: CrazyElf
→ Ссылка
Можно как-то так сделать. Наверное, можно короче, но пока не соображу:
[[z for z in [{k: v for k, v in x.items() if x["HP"] >= minimal_hp} for x in i] if z] for i in brand_cars]