Unir una lista de listas en una sola lista en Python

Posible duplicado:
Aplanar (una irregular) lista de listas en Python

Tengo una lista que consta de muchas listas. Aquí hay un ejemplo,

[ [Obj, Obj, Obj, Obj], [Obj], [Obj], [ [Obj,Obj], [Obj,Obj,Obj] ] ] 

¿Hay una manera de unir todos estos elementos en una sola lista, por lo que la salida será algo así como

 [Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj,Obj] 

Sí, aquí hay una forma de hacerlo :

 def flatten(lst): for elem in lst: if type(elem) in (tuple, list): for i in flatten(elem): yield i else: yield elem 

Tenga en cuenta que esto crea un generador, por lo que si necesita una lista, envuélvala en list() :

 flattenedList = list(flatten(nestedList)) 

Robado de MonkeySage, aquí :

 def iter_flatten(iterable): it = iter(iterable) for e in it: if isinstance(e, (list, tuple)): for f in iter_flatten(e): yield f else: yield e