Уменьшение циклов for в Python невозможно?


Я могу ошибаться (просто дайте мне знать, и я удалю вопрос), но, похоже, python не ответит на

for n in range(6,0):
    print n

Я попытался использовать xrange, и это тоже не сработало. Как я могу это реализовать?

6 61

6 ответов:

for n in range(6,0,-1):
    print n
# prints [6, 5, 4, 3, 2, 1]

- уже очень поздно, но я просто хотел добавить, что есть более элегантный способ: используя reversed

for i in reversed(range(10)):
    print i

выдает:

4
3
2
1
0
for n in range(6,0,-1)

это даст вам 6,5,4,3,2,1

как

for n in reversed(range(0,6))

даст вам 5,4,3,2,1,0

for n in range(6,0,-1):
    print n
>>> range(6, 0, -1)
[6, 5, 4, 3, 2, 1]

0 является условным значением, когда это условие истинно, цикл будет продолжать выполняться.10-начальное значение. 1 является модификатором, где может быть простой декремент.

for number in reversed(range(0,10,1)):
print number;