Я делаю пример кода, где мне нужно найти второе по величине целое число в списке целых чисел, и я столкнулся с чем-то, чего я не понимаю. Я использую 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.
спасибо за вашу помощь