是的,我知道这个主题已经被覆盖了( 在这里 , 这里 , 在 这里 ),但据我所知,所有的解决scheme,除了一个,都失败在这样的列表上: L = [[[1, 2, 3], [4, 5]], 6] 如果期望的输出是 [1, 2, 3, 4, 5, 6] 或者甚至更好,一个迭代器。 我看到的唯一解决scheme适用于任意嵌套在这个问题中find: def flatten(x): result = [] for el in x: if hasattr(el, "__iter__") and not isinstance(el, basestring): result.extend(flatten(el)) else: result.append(el) return result flatten(L) 这是最好的模式? 我忽略了什么? 任何问题?