Представим ситуацию, когда у вас есть список кортежей. Каждый кортеж содержит строку и число, например:
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 вполне возможна и достаточно проста.
Добавить комментарий