reversed()

Функция reversed() возвращает итератор, который проходит по последовательности в обратном порядке. Сам исходный объект не меняется, а память тратится только на сам итератор.

Сигнатура

reversed(seq)

Параметры:

  • seq — последовательность с поддержкой __reversed__() или с __len__() и __getitem__() по целым индексам (списки, кортежи, строки, range).

Возвращает: итератор обратного обхода.

Примеры

Обход списка с конца:

for value in reversed([10, 20, 30]):
    print(value, end=" ")
30 20 10

Разворот строки:

word = "Alash"
print("".join(reversed(word)))
hsalA

Перевод в список или кортеж:

nums = (1, 2, 3, 4, 5)
print(list(reversed(nums)))
[5, 4, 3, 2, 1]

Обратный отсчёт перед стартом:

for n in reversed(range(1, 6)):
    print(n, end=" ")
print("Старт!")
5 4 3 2 1 Старт!

Собственный класс с __reversed__:

class Deck:
    def __init__(self, cards):
        self.cards = cards
    def __reversed__(self):
        return iter(self.cards[::-1])

d = Deck(["A", "K", "Q", "J"])
print(list(reversed(d)))
['J', 'Q', 'K', 'A']

См. также

Примечание

Описание основано на официальной документации Python (docs.python.org), распространяемой под лицензией PSF License v2. © Python Software Foundation.