def flattenList(toFlatten):
final=[]
for el in toFlatten:
if isinstance(el, list):
final.extend(flattenList(el))
else:
final.append(el)
return final
Cuando no sé cuán profundamente anidarán las listas, esta es la única forma en que puedo pensar para hacer esto.¿Hay alguna manera funcional de hacerlo?
Intente utilizar cuatro espacios en lugar de uno para su sangría. Es más legible y se ajustará a las pautas de estilo utilizadas para la mayoría del código Python. (La guía de estilo con la que se ajusta la mayoría del código de Python es http://www.python.org/dev/peps/pep-0008/) –
Preguntas relacionadas: "Aplanar (una lista irregular) de listas en Python" http: // stackoverflow .com/questions/2158395/flatten-an-irregular-list-of-lists-in-python (enlaces a otras preguntas y buenas respuestas) "Aplanamiento de una lista superficial en python" http://stackoverflow.com/questions/406121/flattening-a-shallow-list-in-python (benchmarks) – jfs