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 AntwortIch 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?