Обратный итератор

Списки и коллекции / Итераторы и генераторы

numbers = [1, 2, 3]
# Built-in reverse iterator: an object, not a list
iterator = reversed(numbers)
kind = type(iterator).__name__
# kind is 'list_reverseiterator'

# No copy: it reads the list while walking
numbers[0] = 10
values = list(iterator)
# values is [3, 2, 10]

# Any sequence, a string too
chars = list(reversed("string"))
# chars is ['g', 'n', 'i', 'r', 't', 's']

print(f"{kind = }")
print(f"{values = }")
print(f"{chars = }")