#!/usr/bin/env ipython from types import FunctionType def clamp(val, low, high): return min(high, max(low, val)) def rgb2hex(r, g, b, a=None): hex_value = "#{:02x}{:02x}{:02x}".format( int(r * 255), int(g * 255), int(b * 255) ) return hex_value def any_map(f: FunctionType, lst: list): result = [] for itm in lst: if isinstance(itm, list): result.append(any_map(f, itm)) else: result.append(f(itm)) return result