Erlang y Ruby vienen con funciones para aplanar matrices. Parece una herramienta tan simple y útil para agregar a un idioma. Uno podría hacer esto:
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> mess.flatten()
[1, 2, 3, 4, 5, 6]
O incluso:
>>> import itertools
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> list(itertools.flatten(mess))
[1, 2, 3, 4, 5, 6]
En cambio, en Python, uno tiene que pasar por la molestia de escribir una función para aplanar matrices desde cero. Esto me parece tonto, aplanar matrices es algo muy común. Es como tener que escribir una función personalizada para concatenar dos matrices.
He buscado en Google esto infructuosamente, así que pregunto aquí; ¿Hay alguna razón particular por la cual un lenguaje maduro como Python 3, que viene con cientos de miles de baterías diferentes incluidas, no proporcione un método simple para aplanar matrices? ¿Se ha discutido y rechazado la idea de incluir tal función en algún momento?
extend
pero aplanar habría sido mucho más elegante. Sin embargo, me equivoco si este patrón es lo suficientemente común como para justificar haber aplanado en la biblioteca estándar.