В данных пользователей поле города может быть отсутствующим. Нужно получить множество уникальных городов в нижнем регистре, пропуская None. Какой вариант подходит?

A[u["city"].lower() for u in users if u.get("city")]
Bset([u["city"] for u in users])
C{u["city"] for u in users}
D{u["city"].lower() for u in users if u.get("city")}
Правильный ответ. Set comprehension {expr for ...} помогает одновременно преобразовать значения и убрать дубликаты, а if — пропустить пустые.

Разбор

Если задача — именно множество уникальных значений, set comprehension часто самый прямой вариант. Условие if u.get("city") отбрасывает отсутствующие или пустые значения, а .lower() приводит к единому виду, чтобы "Moscow" и "moscow" не считались разными городами.

Проверь себя · 1/3разбор после ответа
В данных пользователей поле города может быть отсутствующим. Нужно получить множество уникальных городов в нижнем регистре, пропуская None. Какой вариант подходит?
Тренировать Python в Telegram

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