Erlang und Ruby bieten Funktionen zum Reduzieren von Arrays. Es scheint so ein einfaches und nützliches Werkzeug zu sein, um einer Sprache etwas hinzuzufügen. Das könnte man machen:
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> mess.flatten()
[1, 2, 3, 4, 5, 6]
Oder auch:
>>> import itertools
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> list(itertools.flatten(mess))
[1, 2, 3, 4, 5, 6]
Stattdessen muss man sich in Python die Mühe machen, eine Funktion zu schreiben, mit der Arrays von Grund auf abgeflacht werden. Das kommt mir albern vor, Arrays zu verflachen ist so eine gewöhnliche Sache. Es ist, als müsste man eine benutzerdefinierte Funktion schreiben, um zwei Arrays zu verketten.
Ich habe das fruchtlos gegoogelt, also frage ich hier; Gibt es einen bestimmten Grund, warum eine ausgereifte Sprache wie Python 3, die mit hunderttausenden verschiedenen Batterien geliefert wird, keine einfache Methode zum Reduzieren von Arrays bietet? Wurde die Idee, eine solche Funktion aufzunehmen, diskutiert und irgendwann abgelehnt?
extend
aber Abflachen wäre viel eleganter gewesen. Ich wundere mich jedoch, wenn dieses Muster häufig genug ist, um eine Verflachung in der Standardbibliothek zu rechtfertigen.