Сортировка слов в алфавитном порядке

Задача: взять строку, разбить её на отдельные слова и вывести их отсортированными по алфавиту (лексикографически).

Что нужно знать

Перед изучением примера полезно понимать:

Пример

# Program to sort alphabetically the words form a string provided by the user

my_str = "Hello this Is an Example With cased letters"

# To take input from the user
#my_str = input("Enter a string: ")

# breakdown the string into a list of words
words = [word.lower() for word in my_str.split()]

# sort the list
words.sort()

# display the sorted words

print("The sorted words are:")
for word in words:
   print(word)

Вывод

The sorted words are:
an
cased
example
hello
is
letters
this
with

Примечание

Чтобы попробовать программу на другой строке, измените значение переменной my_str.

Как это работает

Исходная строка хранится в my_str. Метод split() разбивает её по пробелам и возвращает список слов. Списковое включение [word.lower() for word in my_str.split()] дополнительно приводит каждое слово к нижнему регистру — это нужно, чтобы сортировка не зависела от регистра букв (иначе все слова с заглавной буквы оказались бы в начале).

Метод sort() сортирует список на месте по алфавиту. Затем цикл for выводит отсортированные слова по одному на строку.