У вас уже есть функция normalize_email, которая принимает строку и возвращает строку. Нужно применить её к списку emails и получить новый список. Какой вариант наиболее уместен и читаем?
A
list(map(lambda e: normalize_email(e), emails))B
list(map(normalize_email, emails))C
tuple(map(normalize_email, emails))D
list(filter(normalize_email, emails))Правильный ответ. Если функция уже определена, в
map() её передают по имени, без обёртки lambda, и приводят результат к списку через list().Разбор
list(map(normalize_email, emails)) — самая компактная и читаемая запись: функция передана напрямую, итератор приведён к списку. lambda e: normalize_email(e) — лишняя обёртка, которая делает ровно то же самое. tuple(map(...)) тоже применяет функцию к каждому элементу, но возвращает кортеж, а не список. filter(normalize_email, ...) использовал бы функцию как предикат и возвращал только те значения, которые normalize_email посчитала бы истинными, — это совсем другая операция.
Проверь себя · 1/3разбор после ответа
У вас уже есть функция
normalize_email, которая принимает строку и возвращает строку. Нужно применить её к списку emails и получить новый список. Какой вариант наиболее уместен и читаем?Ещё вопросы по теме «Генераторы списков и встроенные функции»
- Дан список `xs = [1, -2, 3, 0]`. Что вернёт выражение `[x * 2 for x in xs if x > 0]`?
- Есть список словарей `users`, где у некоторых пользователей отсутствует email (например, `u.get("email")` возвращает `None`). Нужно получить список email в нижнем регистре, пропуская отсутствующие. Какой вариант обычно наиболее читаемый?
- Дан список батчей `batches = [[101, 102], [], [103]]`. Что вернёт выражение `[x for batch in batches for x in batch]`?
- Дан список `vals = [0, 1, 2]`. Что вернёт выражение `[x if x % 2 == 0 else -1 for x in vals]`?
- У вас есть список словарей `users` с ключами `id` и `is_active`. Нужно получить список идентификаторов только активных пользователей. Какое решение обычно проще читать, чем комбинация `map` и `filter` с анонимными функциями?
- Все вопросы по «Генераторы списков и встроенные функции» →