Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
1826

Сортировка списка кортежей по второму элементу (целочисленному значению)

Представим ситуацию, когда у вас есть список кортежей. Каждый кортеж содержит строку и число, например: Ваша задача — отсортировать этот список

Представим ситуацию, когда у вас есть список кортежей. Каждый кортеж содержит строку и число, например:

data_list = [('привет', 50), ('мир', 10), ('программа', 20), ('python', 30)]

Ваша задача — отсортировать этот список по второму элементу каждого кортежа, т.е. по числу, в порядке возрастания. В Python есть встроенная функция sorted(), которая может сортировать различные типы данных, включая списки кортежей.

sorted_data_list = sorted(data_list, key=lambda x: x[1])

В этом примере используется аргумент key, который принимает функцию, указывающую, по какому критерию следует сортировать список. Здесь эта функция — лямбда-функция lambda x: x[1], которая возвращает второй элемент каждого кортежа. Таким образом, sorted() сортирует список кортежей по второму элементу каждого кортежа.

После выполнения этого кода в переменной sorted_data_list будет следующий список:

[('мир', 10), ('программа', 20), ('python', 30), ('привет', 50)]

Как видите, список отсортирован по второму элементу кортежей, т.е. по числам, в порядке возрастания. Если вы хотите отсортировать список в порядке убывания, просто добавьте аргумент reverse=True в функцию sorted():

sorted_data_list = sorted(data_list, key=lambda x: x[1], reverse=True)

В результате получится список:

[('привет', 50), ('python', 30), ('программа', 20), ('мир', 10)]

Таким образом, сортировка списка кортежей по второму элементу в Python вполне возможна и достаточно проста.

Добавить комментарий