Deep flattens a list.
Use recursion.
Use isinstance() with collections.abc.Iterable to check if an element is iterable.
If it is, apply deep_flatten() recursively, otherwise return [lst].
代码实现
from collections.abc import Iterable
def deep_flatten(lst): 
  return [a for i in lst for a in deep_flatten(i)] if isinstance(lst, Iterable) else [lst]
使用样例
deep_flatten([1, [2], [[3], 4], 5]) # [1,2,3,4,5]