Erlang i Ruby mają funkcje spłaszczania tablic. Wydaje się, że jest to takie proste i przydatne narzędzie, które można dodać do języka. Można to zrobić:
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> mess.flatten()
[1, 2, 3, 4, 5, 6]
Lub nawet:
>>> import itertools
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> list(itertools.flatten(mess))
[1, 2, 3, 4, 5, 6]
Zamiast tego w Pythonie trzeba przebrnąć przez pisanie funkcji spłaszczania tablic od zera. Wydaje mi się to głupie, spłaszczanie tablic jest tak powszechną rzeczą. To tak, jakby napisać niestandardową funkcję do łączenia dwóch tablic.
Googlowałem to bezowocnie, więc pytam tutaj; czy jest jakiś szczególny powód, dla którego dojrzały język, taki jak Python 3, który zawiera sto tysięcy różnych baterii, nie zapewnia prostej metody spłaszczania tablic? Czy pomysł włączenia takiej funkcji został w pewnym momencie omówiony i odrzucony?
extend
ale spłaszczenie byłoby znacznie bardziej eleganckie. Ostrzegam jednak, czy ten wzorzec jest na tyle powszechny, że uzasadnia spłaszczenie w standardowej bibliotece.