Erlang e Ruby hanno entrambi funzioni per appiattire le matrici. Sembra uno strumento così semplice e utile da aggiungere a una lingua. Si potrebbe fare questo:
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> mess.flatten()
[1, 2, 3, 4, 5, 6]
O anche:
>>> import itertools
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> list(itertools.flatten(mess))
[1, 2, 3, 4, 5, 6]
Invece, in Python, si deve affrontare il problema di scrivere una funzione per appiattire le matrici da zero. Mi sembra sciocco, appiattire gli array è una cosa così comune da fare. È come dover scrivere una funzione personalizzata per concatenare due array.
L'ho cercato su Google inutilmente, quindi chiedo qui; c'è un motivo particolare per cui un linguaggio maturo come Python 3, che viene fornito con centinaia di migliaia di batterie incluse, non fornisce un metodo semplice per appiattire le matrici? L'idea di includere una tale funzione è stata discussa e respinta ad un certo punto?
extend
ma appiattire sarebbe stato molto più elegante. Tuttavia, mi ferisco se questo schema è abbastanza comune da giustificare l'appiattimento nella libreria standard.