Gibt es einen besseren Weg, dies zu tun? Ich brauche die Liste nicht wirklich, um sortiert zu werden, sondern um durchzugehen, um das Objekt mit dem größten spezifizierten Attribut zu erhalten. Ich sorge mich am meisten über die Lesbarkeit, aber das Sortieren einer ganzen Liste, um ein Element zu bekommen, scheint ein wenig verschwenderisch zu sein.Pythonischer Weg, um das größte Element in einer Liste zu bekommen
>>> import operator
>>>
>>> a_list = [('Tom', 23), ('Dick', 45), ('Harry', 33)]
>>> sorted(a_list, key=operator.itemgetter(1), reverse=True)[0]
('Dick', 45)
Ich konnte es ganz verbosely tun ...
>>> age = 0
>>> oldest = None
>>> for person in a_list:
... if person[1] > age:
... age = person[1]
... oldest = person
...
>>> oldest
('Dick', 45)
Nizza, wusste nicht, dass Max ein optionales Schlüsselargument hatte! – Noah
Ah, brilliant! Gute Python macht mich glücklich. –