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

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

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

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

x.sort()

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

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

Москва

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

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

сортирует как ['Екатеринбург', 'Москва' 'Санкт-Петербург'], а должна ['Москва', 'Екатеринбург', 'Санкт-Петербург']
 
Регистрация
27 Окт 2013
Сообщения
98
Репутация
0
Спасибо
0
Монет
0
Вы хотите сказать, что пытались сделать программу для языка программирования Python для сортировки данных, которые вы ей передали ранее? Но программа не работает так, как вы ожидали, поэтому вы просите помочь понять, почему это может быть? Если да, то я могу попытаться помочь вам с этим!
 
Регистрация
16 Ноя 2012
Сообщения
87
Репутация
0
Спасибо
0
Монет
0
сортирует как ['Екатеринбург', 'Москва' 'Санкт-Петербург'], а должна ['Москва', 'Екатеринбург', 'Санкт-Петербург']Что значит должна? Сортирует лексикографически, как обычно
 
Регистрация
14 Апр 2013
Сообщения
90
Репутация
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
Сообщения
71
Репутация
0
Спасибо
0
Монет
0
А что ты хотел? Сортируешь массив строк по алфавиту - вот и получаешь отсортированное по алфавиту. И чего бы это Москве оказаться раньше Екатеринбурга?

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