Ответ
Что хотят услышать интервьюеры
Интервьюеры ожидают, что кандидат продемонстрирует понимание способов сортировки данных в Python, включая использование встроенных функций и методов. Важно показать знание о том, как работать с кортежами и списками, а также умение писать чистый и читаемый код. Ожидается также обсуждение сложности алгоритма и возможных альтернатив.
# Исходный список пар (кортежей)
pairs = [(1, 'apple'), (3, 'banana'), (2, 'cherry'), (5, 'date'), (4, 'fig')]
# Сортировка списка пар по второму элементу (по алфавиту)
sorted_pairs = sorted(pairs, key=lambda pair: pair[1])
# Вывод отсортированного списка
print(sorted_pairs) # Ожидаемый вывод: [(1, 'apple'), (3, 'banana'), (5, 'date'), (2, 'cherry'), (4, 'fig')]
# Пример на случай, если элементы второго поля одинаковые
pairs_with_same_second = [(1, 'banana'), (2, 'banana'), (3, 'apple')]
sorted_pairs_same = sorted(pairs_with_same_second, key=lambda pair: pair[1])
print(sorted_pairs_same) # Ожидаемый вывод: [(3, 'apple'), (1, 'banana'), (2, 'banana')]Объяснение кода:
- Исходный список — создаем список
pairs, содержащий кортежи, каждый из которых состоит из двух элементов. - Сортировка — используем функцию
sorted(), передавая в нее аргументkey, который указывает, что сортировка должна происходить по второму элементу кортежа. Для этого используем лямбда-функциюlambda pair: pair[1]. - Вывод результата — печатаем отсортированный список, чтобы убедиться, что элементы упорядочены по второму элементу в алфавитном порядке.
- Пример с одинаковыми вторыми элементами — демонстрирует, как обрабатываются кортежи с одинаковыми вторыми элементами.
Что могут спросить дальше
- Объяснить, как работает лямбда-функция.
- Показать, как сортировать по первому элементу.
- Обсудить сложность алгоритма сортировки.
- Примеры использования метода sort() для сортировки на месте.