itertools.groupby()
itertools.groupby() is a Python function in the Itertools Module category. Creates an iterator returning consecutive keys and groups from the iterable. The syntax is itertools.groupby(iterable, key=None). Parameters: iterable, key function. Returns: Iterator of (key, group) tuples. A typical example: for k, g in groupby("AAABBA"):
print(k, list(g))
# A ["A","A","A"] B ["B","B"] A ["A"]. A close sibling is itertools.chain(), which creates an iterator that returns elements from the first iterable until exhausted, then proceeds to the next. A close sibling is itertools.chain.from_iterable(), which alternative chain that takes a single iterable of iterables. A close sibling is itertools.product(), which cartesian product of input iterables (like nested for-loops). A close sibling is itertools.permutations(), which returns all possible r-length ordered arrangements of elements. More about this category: Iterator building blocks — chain, product, permutations, combinations, groupby. For a broader walkthrough, read the Itertools Module guide. Related Itertools Module entries: itertools.chain(), itertools.chain.from_iterable(), itertools.product(), itertools.permutations(), itertools.combinations(), itertools.combinations_with_replacement().