AlkantarClanX12
Current Path : /opt/alt/python37/lib/python3.7/site-packages/importlib_metadata/ |
Current File : //opt/alt/python37/lib/python3.7/site-packages/importlib_metadata/_itertools.py |
from itertools import filterfalse def unique_everseen(iterable, key=None): "List unique elements, preserving order. Remember all elements ever seen." # unique_everseen('AAAABBBCCDAABBB') --> A B C D # unique_everseen('ABBCcAD', str.lower) --> A B C D seen = set() seen_add = seen.add if key is None: for element in filterfalse(seen.__contains__, iterable): seen_add(element) yield element else: for element in iterable: k = key(element) if k not in seen: seen_add(k) yield element