For-циклы в Python - PullRequest
       13

For-циклы в Python

5 голосов
/ 13 апреля 2010

Каков наилучший способ сделать это в Python?

for (v = n / 2 - 1; v >= 0; v--)

Сначала я попробовал Google, но, насколько я понимаю, единственным решением было бы использовать while.

Ответы [ 4 ]

15 голосов
/ 13 апреля 2010

Я бы сделал это:

for i in reversed(range(n // 2)):
    # Your code
    pass

Немного яснее, что это обратная последовательность, каков нижний предел и каков верхний предел.

13 голосов
/ 13 апреля 2010

Способ сделать это с помощью xrange():

for v in xrange(n // 2 - 1, -1, -1):

(Или, в Python 3.x, с range() вместо xrange().) // - это разделение полов, что позволяет получить целое число.

5 голосов
/ 13 апреля 2010
for v in range(n//2, -1, -1)

Однако в 90% случаев, когда вы бы использовали цикл for в C / Java / C # / VB, вам действительно нужно понимание списка :

listOfStuff = [doSomethingWith(v) for v in range(n//2, -1, -1)]
0 голосов
/ 13 апреля 2010
for v in xrange(n/2 - 1, 0, -1):
   #your code here

Где v и n равны int с или рассматриваются как int с. Это означает, что деление будет целочисленным делением, то есть 1/2 == 0 is True.

Примечание: это для Python 2.x.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...