Как работает sorted?
Например у нас есть такая строка:
sorted("This is a test string from Andrew".split(), key=str.lower)
и она выведет:
['a', 'Andrew', 'from', 'is', 'string', 'test', 'This']
Но почему она вывела именно это? Я так понял key сравнивает что-то с чем-то, но не понял с чем.
И вот ещё один пример
student_tuples = [
('john', 'A', 15),
('jane', 'B', 12),
('dave', 'B', 10),
]
>>> sorted(student_tuples, key=lambda student: student[2])
[('dave', 'B', 10), ('jane', 'B', 12), ('john', 'A', 15)]
Если я правильно понимаю в этом примере сортируются сразу все 3 значения просто по возрастанию цифр. Но по какому принципу сортирует функция в первом примере?
Объясните, пожалуйста развёрнуто, как работает sorted