Ich erstellte die Klasse namens Student() mit den Attributen Name und Vorname. In dieser Klasse habe ich eine Klassenvariable erstellt -> all_students = []Wie sortiere ich die Liste der Objekte nach dem len des Attributs dieser Objekte? - Python
Beim Erstellen eines Objekts wird es dieser Klassenvariablen = all_students hinzugefügt.
Wie sortiere ich diese Liste von Objekten nach der Länge des Attributnamens von der längsten zur kürzesten?
import operator
class Student:
all_students = []
def __init__(self, name, surname):
self.name = name
self.surname = surname
Student.all_students.append(self)
s_1 = Student("Jacobbbb", "anything")
s_2 = Student("Mat", "anything1")
s_3 = Student("Marcooooooo", "sss")
new_list = sorted(Student.all_students, key=operator.attrgetter(len('name')))
for student in new_list:
print(student.name)
Ich versuchte mit Operator, aber ich kann das nicht auf diese Weise tun. Wir werden dankbar sein für Hilfe.
OP möchte, dass es in umgekehrter Reihenfolge sortiert wird, also würden Sie '-len (s.name)' benötigen. –
... oder 'reverse = True'. – SethMMorton