Вы можете получить свой вывод так:
def fn():
theList = list(range(5, -1, -1))
for idx in range(len(theList)):
print(theList[idx:])
fn()
Выход:
[5, 4, 3, 2, 1, 0]
[4, 3, 2, 1, 0]
[3, 2, 1, 0]
[2, 1, 0]
[1, 0]
[0]
Ваш код использует неправильный подход. По сути, ваш вывод показывает, что список изначально полон и продолжает отображать один элемент слева на каждой итерации. Ваш подход начинается с пустого списка и добавляет элемент на каждую итерацию.
Кроме того, range(5, 0, -1)
- это не тот список, о котором вы думаете. Это потому, что функция диапазона игнорирует конечное значение, которое здесь равно 0.
Если бы вы сделали это list(range(5, 0, -1))
, вы бы получили [5, 4, 3, 2, 1]
, который явно не содержит 0. Итак, чтобы получить нужный список, вам нужно будет сделать list(range(5, -1, -1))
, как в коде выше.