Функция sorted() — одна из самых полезных встроенных функций Python для работы с данными. Она принимает любой итерируемый объект и возвращает новый отсортированный список, не изменяя исходные данные. В этом тренажёре ты научишься использовать sorted() для сортировки списков, строк и других коллекций. Разберёшься с параметрами reverse и key, которые позволяют менять направление сортировки и задавать собственные правила упорядочивания элементов. Также поймёшь разницу между sorted() и методом .sort(), что важно для написания чистого и предсказуемого кода. Задания построены от простых примеров к более сложным случаям с lambda-функциями и сортировкой составных структур данных.
- Модуль 1: Основы синтаксиса Python
- Модуль 2: Переменные и типы данных
- Модуль 3: Операторы
- Арифметические операторы (+, -, *, /).
- Целочисленное деление и остаток (// и %).
- Возведение в степень (**).
- Операторы сравнения.
- Логические операторы (and, or, not).
- Операторы присваивания (=, +=, -=).
- Операторы принадлежности (in, not in).
- Операторы идентичности (is, is not).
- Битовые операторы.
- Тернарный оператор.
- Модуль 4: Ввод и вывод данных
- Модуль 5: Условные конструкции
- Модуль 6: Циклы
- Модуль 7: Строки
- Модуль 8: Списки
- Модуль 9: Кортежи
- Модуль 10: Словари
- Модуль 11: Множества
- Модуль 12: Функции
- Модуль 13: Встроенные функции
- Функции map() и filter().
- Функция reduce().
- Функция sorted().
- Функции all() и any().
- Модуль 14: Работа с файлами
- Модуль 15: Обработка исключений
- Модуль 16: Модули и пакеты
- Модуль 17: ООП - Основы
- Модуль 18: ООП - Продвинутый уровень
- Модуль 19: Декораторы
- Модуль 20: Генераторы и итераторы
- Модуль 21: Регулярные выражения
- Модуль 22: Дата и время
- Модуль 23: Математические операции
- Модуль 24: Работа с сетью
- Модуль 25: Асинхронное программирование
- Модуль 26: Многопоточность
- Модуль 27: Тестирование
- Модуль 28: Базы данных
- Модуль 29: Алгоритмы и структуры данных
- Модуль 30: Продвинутые возможности
Базовая сортировка списка
Посмотрите на код, который применяет функцию sorted() к списку чисел. Определите, какой результат будет выведен на экран после выполнения этого кода.
numbers = [5, 2, 8, 1, 9]
result = sorted(numbers)
print(result)Синтаксис функции sorted()
Заполните пропуски, чтобы отсортировать список слов в алфавитном порядке и сохранить результат в переменную sorted_words.
words = ['banana', 'apple', 'cherry']
sorted_words = input1S(input2S)
print(sorted_words)Параметры функции sorted()
Сопоставьте параметры функции sorted() с их описанием. Перетащите элементы из правой колонки к соответствующим описаниям слева.
reversekeyiterableСортировка в обратном порядке
Проанализируйте код с использованием параметра reverse. Какой результат выведет программа?
scores = [75, 90, 60, 85]
result = sorted(scores, reverse=True)
print(result)Сортировка строки
Функция sorted() может работать не только со списками. Посмотрите на код и введите первый элемент результирующего списка (один символ).
text = "Python"
result = sorted(text)
print(result[0])Ошибка в использовании sorted()
В этом коде есть ошибка — программист перепутал функцию sorted() с методом списка. Найдите и исправьте строку с ошибкой.
data = [3, 1, 4, 1, 5]result = data.sorted()print(result)Сортировка по длине строк
Используя элементы из банка, соберите код, который отсортирует список слов по их длине — от самого короткого к самому длинному.
words = ['elephant', 'cat', 'dog', 'butterfly']
result = sorted(words, input1S=input2S)
print(result)Сортировка кортежей по второму элементу
Изучите код, использующий lambda-функцию для сортировки списка кортежей. Определите, какой кортеж окажется первым в результате.
students = [('Alice', 85), ('Bob', 92), ('Charlie', 78)]
result = sorted(students, key=lambda x: x[1])
print(result[0])Сортировка без учёта регистра
Заполните пропуски, чтобы отсортировать список слов в алфавитном порядке без учёта регистра букв. Используйте строковый метод, который приводит строку к нижнему регистру.
words = ['Banana', 'apple', 'Cherry', 'date']
result = sorted(words, key=input1S.input2S)
print(result)sorted() vs .sort() — ключевые отличия
Распределите утверждения по категориям в зависимости от того, к чему они относятся: к функции sorted() или к методу списка .sort().
Сортировка словаря по значениям
Соберите код, который выведет ключи словаря prices, отсортированные по возрастанию их значений (цен). Ожидаемый вывод: ['bread', 'milk', 'cheese']. Одна строка лишняя.
print([item[0] for item in sorted_items])sorted_items = sorted(prices.items(), key=lambda x: x[1])prices = {'milk': 50, 'bread': 30, 'cheese': 80}sorted_items = sorted(prices.keys())print(prices)Сортировка по нескольким критериям
Изучите код, который сортирует список кортежей. Введите имя студента, который окажется первым в отсортированном списке (только имя, без кавычек).
students = [
('Diana', 20),
('Alice', 20),
('Bob', 19),
('Charlie', 21)
]
result = sorted(students, key=lambda x: (x[1], x[0]))
print(result[0][0])Ошибка с результатом .sort()
Программист хотел получить отсортированный список, но получил None. Найдите и исправьте ошибку в коде. Нужно исправить только одну строку.
numbers = [5, 2, 8, 1]result = numbers.sort()print(result)Стабильность сортировки
Python использует стабильную сортировку — элементы с одинаковыми ключами сохраняют исходный порядок. Какой будет результат выполнения кода?
words = ['bee', 'ant', 'cat', 'dog']
result = sorted(words, key=len)
print(result)Обратная сортировка по длине
Заполните пропуски, чтобы отсортировать список слов по убыванию их длины — от самого длинного к самому короткому.
words = ['hi', 'hello', 'hey', 'greetings']
result = sorted(words, key=input1S, input2S=input3S)
print(result)