tytymora
@tytymora

Почему методы выводят None?

Почему методы выводят None?

countries = ['France', 'Saudi Arabia', 'USA', 'China', 'Japan']
print(countries)
print(sorted(countries))
print(countries)
print(countries.reverse())
print(countries.reverse())
print(countries.sort())
print(countries.sort(reverse=True))

>>>['France', 'Saudi Arabia', 'USA', 'China', 'Japan']
['China', 'France', 'Japan', 'Saudi Arabia', 'USA']
['France', 'Saudi Arabia', 'USA', 'China', 'Japan']
None
None
None
None
  • Вопрос задан
  • 104 просмотра
Решения вопроса 2
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
Прочитайте документацию по этим методам. Именно в документацию нужно идти прежде чем задавать вопросы на подобных ресурсах.
Вас удивляет, что эти методы не годятся для "чейнинга", поскольку не возвращают нистанс своего объекта? Думаю не это.
Эти методы модифицируют объект на месте (inplace), а не возвращают новый. После вызова метода сортировки список стал отсортированным. А одноименная функция формирует новый список, куда в отсортированном порядке копирует содержимое оригинального
Ответ написан
DoNiFF
@DoNiFF
C++ Developer
Потому что функции reverse() и sort() сами по себе не возвращают значений, по всей видимости вы хотели отсортировать массив и вывести его, для этого нужно сделать так:
countries = ['France', 'Saudi Arabia', 'USA', 'China', 'Japan']
print(countries)
sorted_countries = sorted(countries)
print(sorted_countries)
print(countries)
countries.reverse()
print(countries)
countries.sort()
print(countries)
countries.sort(reverse=True)
print(countries)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы