/
Undeadguy
/
Tape_python
Обзор
Документация
Войти
/
Undeadguy
/
Tape_python
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
.venv/lib/python3.12/site-packages/setuptools/_itertools.py
23 строки
657 B
Undeadguy
1.0
15 апр 2026, 22:40
15 апр 2026, 22:40
556ac2a
Код
Авторство
О чём код?
from more_itertools import consume # noqa: F401 # copied from jaraco.itertools 6.1 def ensure_unique(iterable, key=lambda x: x): """ Wrap an iterable to raise a ValueError if non-unique values are encountered. >>> list(ensure_unique('abc')) ['a', 'b', 'c'] >>> consume(ensure_unique('abca')) Traceback (most recent call last): ... ValueError: Duplicate element 'a' encountered. """ seen = set() seen_add = seen.add for element in iterable: k = key(element) if k in seen: raise ValueError(f"Duplicate element {element!r} encountered.") seen_add(k) yield element