Check

Поиск дубликатов в списке пользователей

Python Middle Яндекс 01.01.2025
Дан список словарей `users`, каждый словарь имеет поля `id` и `email`. Нужно написать функцию `find_duplicate_emails(users) -> set[str]`, которая вернёт множество email'ов, встречающихся более одного раза. **Пример входных данных:** ```python users = [ {"id": 1, "email": "a@example.com"}, {"id": 2, "email": "b@example.com"}, {"id": 3, "email": "a@example.com"}, ] ``` Ожидаемый результат: ```python {"a@example.com"} ```
Ответы
Решение 1
```python from collections import Counter from typing import Iterable, Dict, Any, Set def find_duplicate_emails(users: Iterable[Dict[str, Any]]) -> Set[str]: counter: Counter[str] = Counter(u["email"] for u in users) return {email for email, count in counter.items() if count > 1} ```