Recursively flattens a deeply nested list into a single flat list using Python's built-in generator pattern.
1def flatten(lst):
2 for item in lst:
3 if isinstance(item, list):
4 yield from flatten(item)
5 else:
6 yield item
7
8# usage
9nested = [1, [2, [3, 4]], 5]
10result = list(flatten(nested)) # [1, 2, 3, 4, 5]