Есть список словарей products с ключами name и price. Нужно получить name самого дешёвого товара. Какой код корректен?

Amin(p["price"] for p in products)
Bsorted(products, key=lambda p: p["price"])[0]
Cmin(products, key=lambda p: p["price"])["name"]
Dmin(products, key=lambda p: p["name"])["name"]
Правильный ответ. Чтобы выбрать объект с минимальным значением поля, используйте min(iterable, key=...), а затем возьмите нужное поле.

Разбор

Вариант min(products, key=lambda p: p["price"]) выбирает словарь товара с минимальной ценой, и затем можно взять его "name". Вариант min(p["price"] for p in products) вернёт только минимальную цену (число), а sorted(...)[0] вернёт весь словарь, но не извлечёт name.

Проверь себя · 1/3разбор после ответа
Есть словарь code_to_name = {"RU": "Russia", "FR": "France"}. Нужно получить обратное отображение name_to_code (предполагаем, что значения уникальны). Какой вариант корректен?
Тренировать Python в Telegram

Ещё вопросы по теме «Генераторы списков и встроенные функции»