Как правильно решить упражнение из книги Эрика Мэтиза "Изучаем Python 3е издание", главе по сортировке, задача 3.8:

Задание заключается в том, чтобы используя функцию sorted() вывести список в обратном алфавитном порядке без изменения порядка исходного списка.

from audioop import reverse
from itertools import count


pets = ['gekko', 'bird', 'cat', 'dog', 'rat']
print(pets)

print(sorted(pets))

print(pets)

z = sorted(pets)
print(z.reverse())

print(pets(reverse=True))

Как ни переставляй reverse=True, вывод выдает такую ошибку:

TypeError: 'list' object is not callable

Я не понимаю, вроде бы через reverse=True единственный способ вывода списка в обратном порядке без его изменения, но как ни подхожу к решению, всё никак не могу найти правильный подход, спасибо всем кто поможет и извиняюсь за возможно примитивный вопрос.


Ответы (1 шт):

Автор решения: 4500zenja

Вообще можно вывести список в обратном порядке при помощи срезов, конкретно — [::-1]. К тому же reverse = True не может использоваться для списков, это используется для sorted().

pets = ['gekko', 'bird', 'cat', 'dog', 'rat']

print(sorted(pets, reverse=True))

z = sorted(pets)
print(z[::-1])
→ Ссылка