AdventOfCode/Python/lib/lists.py
2023-10-20 13:52:47 +02:00

26 lines
514 B
Python

def most_common(lst, values=None):
return max(values or set(lst), key=lst.count)
def least_common(lst, values=None):
return min(values or set(lst), key=lst.count)
def minmax(lst, key=None):
return min(lst, key=key), max(lst, key=key)
def irange(start=0, step=1):
i = start
while True:
yield i
i += step
def sliding_window(seq, n=2):
lst = []
for elem in seq:
lst.append(elem)
if len(lst) == n:
yield tuple(lst)
lst.pop(0)