Есть список email emails = ["a@x.com", "b@y.com", "c@x.com"]. Нужно получить множество доменов (часть после @). Какой вариант корректен?

A{e.split("@")[0] for e in emails}
B{e.split("@")[1] for e in emails}
C[e.split("@")[1] for e in emails]
Dset(emails)
Правильный ответ. Set comprehension позволяет извлечь домен из каждой строки и автоматически убрать дубликаты.

Разбор

Выражение {e.split("@")[1] for e in emails} берёт часть после @ для каждого email. Результат — set, поэтому повторяющиеся домены (например, "x.com") автоматически схлопываются в один элемент.

Проверь себя · 1/3разбор после ответа
Есть список сумм amounts = [0, 0, 10]. Что вернёт выражение any(a > 0 for a in amounts)?
Тренировать Python в Telegram

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