Поиск дубликатов в списке пользователей
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}
```