сортировка списка целых чисел приводит к противоречивым результатам - PullRequest
0 голосов
/ 29 октября 2019

Я делаю пример кода, где мне нужно найти второе по величине целое число в списке целых чисел, и я столкнулся с чем-то, чего я не понимаю. Я использую python2.7.

Входные данные представляют собой список целых чисел, и я планирую отсортировать их, и именно здесь у меня возникает проблема:

arr = map(int, raw_input().split()) #gives back a list of ints 

print arr
print arr.sort()
print(sorted(arr))

и когда я выполняю этот кодвот что я получаю:

$ python find_runner_up.py 
3 4 6 1
[3, 4, 6, 1]
None
[1, 3, 4, 6]

Как вы можете видеть, первая попытка сортировки не произвела отсортированный список, в то время как попытка секции с сортировкой дала правильный результат. Теперь, если я вместо этого использую оболочку python:

Python 2.7.12 (default, Oct  8 2019, 14:14:10) 
[GCC 5.4.0 20160609] on linux2
>>> a=[1,2,4,3]
>>> a.sort()
>>> print a
[1, 2, 3, 4]
>>> type(a)
<type 'list'>
>>> type(a[1])
<type 'int'>

Итак, как вы можете видеть, в моей оболочке python сортировка работает, но когда я выполняю ее как сортировку сценариев, это не так.

Я не понимаю, в чем здесь разница. Это тот же экземпляр Python на той же машине с Ubuntu.

спасибо за вашу помощь

1 Ответ

0 голосов
/ 29 октября 2019

хорошо, так что я только что понял две проблемы, которые у меня есть. а) я путал свои собственные заявления о печати, о том, какая печать является результатом какой функции. б) функция сортировки ничего не возвращает, поэтому как бы я ее ни печатал, я ничего не получу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...