from typing import Sequence, Callable, TypeAlias, Iterable def avg(values: Sequence[int | float]) -> float: return sum(values) / len(values) length: list[int | float] = [12.5, 11, 12.3, 11.6, 11.1, 12] length_avg = avg(length) count_member: tuple[int, int, int, int, int] = (12, 15, 16, 11, 10) member_avg = avg(count_member) print(member_avg) prime_set: set[int] = {2, 3, 5, 7, 11} # prime_avg = avg(prime_set) """ avg: Callable[[Sequence[int | float]], float] = \ lambda values: sum(values) / len(values) Scale: TypeAlias = Sequence[int | float] avg: Callable[[Scale], float] = \ lambda v: sum(v) / len(v) if len(v) > 0 else 0.0 """