Я читаю учебник по Python. Кто-нибудь знает, как работает этот код, если max() ожидает список? [code]>>> class student: ... def __init__(self, gpa, name): ... self.gpa = gpa ... self.name = name ... >>> graduates = [student(1.0, "nick"), student(2.0, "geoff")] >>> m = max((s.gpa, s.name) for s in graduates) >>> print(m) (2.0, 'Geoff') [/code] Я не знал, что max может работать с кортежем. Похоже, он сравнивает только первую позицию кортежа.