Уменьшение циклов в Python невозможно? - PullRequest
75 голосов
/ 28 ноября 2010

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

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

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

Ответы [ 6 ]

173 голосов
/ 28 ноября 2010
for n in range(6,0,-1):
    print n
# prints [6, 5, 4, 3, 2, 1]
36 голосов
/ 15 января 2012

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

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

дает:

4
3
2
1
0
9 голосов
/ 26 августа 2013
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

3 голосов
/ 28 ноября 2010
for n in range(6,0,-1):
    print n
2 голосов
/ 01 февраля 2015

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

for number in reversed(range(0,10,1)):
print number;
2 голосов
/ 28 ноября 2010
>>> range(6, 0, -1)
[6, 5, 4, 3, 2, 1]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...