Erlang et Ruby sont tous deux dotés de fonctions permettant d'aplatir les tableaux. Cela semble être un outil simple et utile à ajouter à une langue. On pourrait faire ceci:
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> mess.flatten()
[1, 2, 3, 4, 5, 6]
Ou même:
>>> import itertools
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> list(itertools.flatten(mess))
[1, 2, 3, 4, 5, 6]
Au lieu de cela, en Python, il faut passer par le problème d'écrire une fonction pour aplatir les tableaux. Cela me semble ridicule, l’aplanissement des tableaux est une chose si courante à faire. C'est comme avoir à écrire une fonction personnalisée pour concaténer deux tableaux.
J'ai googlé cela sans résultat, alors je demande ici; Y a-t-il une raison particulière pour laquelle un langage mature comme Python 3, qui contient cent mille piles différentes, ne fournit pas une méthode simple pour aplatir les tableaux? L'idée d'inclure une telle fonction a-t-elle été discutée et rejetée à un moment donné?
extend
mais aplatir aurait été beaucoup plus élégant. Cependant, je suis blessé si ce motif est assez commun pour justifier un aplatissement dans la bibliothèque standard.