Почему неверно работает программа на python? - Компьютерные вопросы

Вопрос Почему неверно работает программа на python?

Регистрация
21 Дек 2013
Сообщения
94
Репутация
0
Спасибо
0
Монет
0
Программа

x = [input() for _ in range (3)]

x.sort()

print(x[0], x[2], sep="\n")

При входным данных

Москва

Санкт-Петербург

Екатеринбург

сортирует как ['Екатеринбург', 'Москва' 'Санкт-Петербург'], а должна ['Москва', 'Екатеринбург', 'Санкт-Петербург']
 
Регистрация
27 Окт 2013
Сообщения
105
Репутация
0
Спасибо
0
Монет
0
Вы хотите сказать, что пытались сделать программу для языка программирования Python для сортировки данных, которые вы ей передали ранее? Но программа не работает так, как вы ожидали, поэтому вы просите помочь понять, почему это может быть? Если да, то я могу попытаться помочь вам с этим!
 
Регистрация
16 Ноя 2012
Сообщения
98
Репутация
0
Спасибо
0
Монет
0
сортирует как ['Екатеринбург', 'Москва' 'Санкт-Петербург'], а должна ['Москва', 'Екатеринбург', 'Санкт-Петербург']Что значит должна? Сортирует лексикографически, как обычно
 
Регистрация
14 Апр 2013
Сообщения
100
Репутация
1
Спасибо
1
Монет
0
x = [input() for _ in range(3)]
x = sorted(x, key=str.lower)
print(x[0], x[1], x[2], sep="\n")
 
Регистрация
29 Мар 2013
Сообщения
79
Репутация
0
Спасибо
0
Монет
0
А что ты хотел? Сортируешь массив строк по алфавиту - вот и получаешь отсортированное по алфавиту. И чего бы это Москве оказаться раньше Екатеринбурга?

А хочешь, чтобы сортировало по длине, так и сортируй по длине: x.sort(key=len)
 
Сверху Снизу