ich einige Objekte auf einem ihrer Attribute basierend sortieren, so etwas wie dies mit:Listen von Objekten mit benutzerdefinierten Schlüssel Vergleich
sorted_list = sorted(unsorted_list, key=lambda x: x.my_attr)
Gibt es eine Möglichkeit, eine Liste von Listen dieser Objekte zu sortieren, in der gleichen Wie kann Python Listen von Ganzzahlen sortieren? Ich kann __cmp__(self, other)
für diese Objekte überladen, aber das wirft Schwierigkeiten in einem externen Paket auf. Die Verschachtelung kann auch beliebig tief werden, also glaube ich nicht, dass ich nur ein Listenverständnis verwenden kann.
Ich fragte mich, ob es etwas gab, wo ich Listen der my_attr
s erzeugen und diese mit den entsprechenden Listen von Objekten verknüpfen konnte. Ich kann mir keine nette Art vorstellen, es ohne weiteres zu tun.
können Sie Beispiele für Ihre verschachtelten Listen anzeigen, vielleicht gibt es einen besseren Weg, dies zu tun, ohne Listen von 'my_attr' zu erzeugen. ? Enthalten ist auch die erwartete Ausgabe – styvane
'[[340 NN, 338 CC], [344 C CB, 350 C CG1], [357 CC, 358 OO], [343 H HA]] Dies ist ein Beispiel für die erste Ebene von Rekursion. Die Objekte sind Atome, und was ich versuche, zu sortieren, basiert auf den [Cahn Ingold Prelog-Regeln] (https://en.wikipedia.org/wiki/Cahn%E2%80%93Ingold%E2%80%93Prelog_priority_rules) #Assignment_von_Prioritäten). Es ist die Erweiterung in Schritt 2, die die Verschachtelung verursacht, und das Attribut, das ich verwende, ist die Atomzahl des Atoms. –
Sie sollten Ihre Frage bearbeiten und hinzufügen (http://stackoverflow.com/posts/31751232/edit). – styvane