Рассмотрим способы сортировки списка по алфавиту в Python.
- Способ 1: Использование метода sorted()
- Шаг 1. Создайте список строк
- Шаг 2. Передайте список строк в функцию sorted()
- Шаг 3. Добавьте ключевой параметр
- Шаг 4. Передайте reverse = True функции sorted()
- Способ 2: Использование метода list sort()
- Шаг 1. Создайте список строк со смешанными регистрами
- Шаг 2. Используйте метод .sort()
- Шаг 3: Отсортируйте список в порядке убывания
- Заключение
Способ 1: Использование метода sorted()
Чтобы отсортировать список в алфавитном порядке в Python, вы можете использовать функцию sorted(). Функция sorted() сортирует данный итерируемый объект в определенном порядке, либо по возрастанию, либо по убыванию.
Метод sorted(iterable, key=None) принимает необязательный ключ, указывающий способ сортировки. Чтобы не учитывать заглавные буквы при сортировке списка, установите для ключа значение str.
Выполните следующие шаги, чтобы отсортировать список в алфавитном порядке.
Шаг 1. Создайте список строк
Используйте квадратные скобки [ ] и добавьте строки, разделенные запятой, чтобы создать список строк.
|
1 |
data = ['Elle', 'Miles', 'Kratos', 'Joel', 'Peter', 'Nathan'] |
Шаг 2. Передайте список строк в функцию sorted()
|
1 2 3 |
data = ['Elle', 'Miles', 'Kratos', 'Joel', 'Peter', 'Nathan'] print(sorted(data)) |
Выход
|
1 |
['Elle', 'Joel', 'Kratos', 'Miles', 'Nathan', 'Peter'] |
И он возвращает список строк в порядке возрастания.
Здесь следует отметить, что мы не смешивали список со строками в верхнем и нижнем регистре.
|
1 2 3 |
data = ['Elle', 'miles', 'kratos', 'Joel', 'peter', 'Nathan'] print(sorted(data)) |
Выход
|
1 |
['Elle', 'Joel', 'Nathan', 'kratos', 'miles', 'peter'] |
Вы можете видеть, что теперь сортировка перепуталась. Итак, давайте решим этот вопрос.
Шаг 3. Добавьте ключевой параметр
Как видите, слова, начинающиеся с прописной буквы, имеют преимущество перед теми, которые начинаются со строчной буквы.
Чтобы отсортировать их независимо, добавьте ключевой параметр.
|
1 2 3 |
data = ['Elle', 'miles', 'kratos', 'Joel', 'peter', 'Nathan'] print(sorted(data, key=str.lower)) |
Выход
|
1 |
['Elle', 'Joel', 'kratos', 'miles', 'Nathan', 'peter'] |
Шаг 4. Передайте reverse = True функции sorted()
Чтобы изменить порядок списка, добавьте аргумент reverse и установите для него значение True.
|
1 2 3 |
data = ['Elle', 'miles', 'kratos', 'Joel', 'peter', 'Nathan'] print(sorted(data, reverse=True)) |
Выход
|
1 |
['peter', 'miles', 'kratos', 'Nathan', 'Joel', 'Elle'] |
list.sort() отсортирует его по алфавиту. Вы можете добавить в скобках reverse=False/True, чтобы изменить порядок элементов: list.sort(reverse=False).
Способ 2: Использование метода list sort()
list.sort() — это встроенная функция Python, которая сортирует элементы списка в порядке возрастания. Если список состоит из чисел, то по умолчанию они будут отсортированы по возрастанию.
Ознакомьтесь с приведенным ниже пошаговым руководством по сортировке списков по алфавиту с помощью метода list.sort().
Шаг 1. Создайте список строк со смешанными регистрами
Используйте квадратные скобки [] для создания списка строк со смешанными регистрами.
|
1 |
data = ['Elle', 'miles', 'Kratos', 'joel', 'Peter', 'nathan'] |
Вы можете видеть, что список строк состоит из прописных и строчных букв.
Шаг 2. Используйте метод .sort()
Вы можете вызвать метод .sort() для списка и передать необязательный параметр «key=str.lower», который укажет методу .sort() отсортировать список в алфавитном порядке, игнорируя регистр слов.
|
1 2 3 4 |
data = ['Elle', 'miles', 'Kratos', 'joel', 'Peter', 'nathan'] data.sort(key=str.lower) print(data) |
Выход
|
1 |
['Elle', 'joel', 'Kratos', 'miles', 'nathan', 'Peter'] |
Вы можете видеть, что он отсортирован в алфавитном порядке независимо от регистра строки.
Шаг 3: Отсортируйте список в порядке убывания
Чтобы отсортировать список в порядке убывания, передайте необязательный параметр «reverse=True» в метод .sort().
|
1 2 3 4 |
data = ['Elle', 'miles', 'Kratos', 'joel', 'Peter', 'nathan'] data.sort(key=str.lower, reverse=True) print(data) |
Выход
|
1 |
['Peter', 'nathan', 'miles', 'Kratos', 'joel', 'Elle'] |
Вы можете видеть, что функция list.sort() упрощает сортировку списка в алфавитном порядке по возрастанию или убыванию в Python.
Заключение
Лучший и наиболее эффективный способ отсортировать список в алфавитном порядке в Python — использовать функцию sorted(). Функции sort() и sorted() отдают приоритет строкам в верхнем регистре.
