Python: Wie gruppiere ich eine Liste von Objekten nach ihren Merkmalen oder Attributen? [Duplikat

Diese Frage hat hier bereits eine Antwort:

Nest eine flache Liste basierend auf einem beliebigen Kriterium 1 Antwort

Ich möchte eine Liste von Objekten in Unterlisten aufteilen, wobei Objekte mit demselben Attribut / Merkmal in derselben Unterliste bleiben.

Angenommen, wir haben eine Liste von Zeichenfolgen:

["This", "is", "a", "sentence", "of", "seven", "words"]

Wir möchten die Zeichenfolgen nach ihrer Länge wie folgt trennen:

[['sentence'], ['a'], ['is', 'of'], ['This'], ['seven', 'words']]

Das Programm, mit dem ich gerade arbeite, ist dieses

sentence = ["This", "is", "a", "sentence", "of", "seven", "words"]
word_len_dict = {}
for word in sentence:
    if len(word) not in word_len_dict.keys():
        word_len_dict[len(word)] = [word]
    else:
        word_len_dict[len(word)].append(word)


print word_len_dict.values()

Ich möchte wissen, ob es einen besseren Weg gibt, dies zu erreichen?

Antworten auf die Frage(14)

Ihre Antwort auf die Frage