@immelnikoff
Изучаю БД

Как в python 3 отсортировать двумерный список по двум столбцам?

Как отсортировать по одному столбцу ясно:
student_tuples = [
        ('john', 'A', 15),
        ('jane', 'B', 12),
        ('dave', 'B', 10),
    ]
student_tuples.sort(key=lambda student: student[2])

А как отсортировать по двум столбцам?
  • Вопрос задан
  • 4633 просмотра
Решения вопроса 1
вот прям в лоб не сильно думая
student_tuples = [
...         ('john', 'A', 15),
...         ('jane', 'B', 12),
...         ('dave', 'B', 10),
...         ('dave1', 'B', 11),
...         ('dave2', 'B', 1),
...     ]
... student_tuples.sort(key=lambda student: (student[1], student[2]))
student_tuples
[('john', 'A', 15), ('dave2', 'B', 1), ('dave', 'B', 10), ('dave1', 'B', 11), ('jane', 'B', 12)]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Python
Седой и строгий
Метод sort в Python использует устойчивую сортировку, так что вы можете отсортировать дважды - сначала по одному полю, потом по другому.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы