Ich habe eine flache Liste von eindeutigen Objekten, von denen einige ein bestimmtes Attribut mit anderen teilen können. Ich möchte eine verschachtelte Liste von Listen erstellen, deren Objekte nach dem angegebenen Attribut gruppiert sind. Als minimal Beispiel die folgende Liste gegeben:Verschachteln Sie eine flache Liste basierend auf einem beliebigen Kriterium
>>> flat = ["Shoes", "pants", "shirt", "tie", "jacket", "hat"]
ich es zu einer Gruppe von Länge wollen könnte, zum Beispiel:
>>> nest_by_length(flat)
[['tie', 'hat'], ['shoes', 'pants', 'shirt'], ['jacket']]
ich ein paar similarquestions und suggestions gesehen habe. In all diesen Fällen basiert die Verschachtelung jedoch auf der Reihenfolge der Eingabeliste. In meinem Fall ist die Reihenfolge der Eingabeliste völlig unvorhersehbar, ebenso wie die Anzahl der Unterlisten für die Ausgabe und die Anzahl der Elemente pro Unterliste.
Gibt es eine Standardfunktion oder einen idiomatischen Weg, dies zu erreichen?
Ich schätze Ihre Gründlichkeit. Ich vermutete, dass es eine Funktion wie Gruppe geben würde, die ich nicht kannte, aber der Wörterbuchtrick ist einfach clever. Vielen Dank! – Joe