Ошибка атрибута в list.sort().reverse() в python3

#python-3.x #reverse #nonetype

#python-3.x #обратный #нетип

Вопрос:

кто-нибудь может объяснить, почему эта ошибка показана в приведенном ниже коде?

 if __name__ == '__main__':
    a = [5, 6, 2, 7, 9]
    a.sort().reverse()
    print(a)
 

показанная ошибка приведена ниже:

 File "first.py", line 3, in <module>
a.sort().reverse()
AttributeError: 'NoneType' object has no attribute 'reverse'
 

Комментарии:

1. Поскольку sort возвращает None , он сортирует список на месте . Стандартная библиотека Python обычно не подходит для плавных интерфейсов.

Ответ №1:

Сортировка возвращает None . Он на месте. Вы можете сделать это в два этапа, как показано в другом ответе, или передать обратный аргумент для сортировки.

 if __name__ == '__main__':
    a = [5, 6, 2, 7, 9]
    a.sort(reverse=True)