2012-01-18 25 views
-2

我把一些VBA代码到Python和我碰到下面的循环哪些步骤-1你可以像Python中的-1步一样在Python中使用for循环吗?

For k = i - 1 To 1 Step -1 

什么是Python中的-1步骤相当于来了?

+4

请阅读一些文档。 – Marcin 2012-01-18 17:05:50

+10

有人关闭了docs.python.org来抗议美国的SOPA法规吗? – 2012-01-18 17:06:17

+2

当然,将它输入Google比Stack Overflow更快? – 2012-01-18 17:07:58

回答

4
for k in range(i-1, 0, -1): 
    ... 
10

如果你想字面翻译用它range(或xrange在Python 2.x中):

for k in range(i-1, 0, -1): 
    ... 

但是,如果k是一个数组的索引(即从someArray[k]在读你原来的代码),你应该使用reversed,而不是用数字摆弄:

for elem in reversed(someArray): 
    # Do something with elem 
+1

+1用于提及* reverse()*,它被设计为用反向迭代比* range()*更清晰地处理反向迭代。 – 2012-01-18 17:12:28

+1

它应该是“反转”而不是“反向”,现在已经修复。 – qiao 2012-01-18 17:23:21

0

如果你在迭代Ø真正感兴趣然后使用reversed()

>>> a = list(range(5)) 
>>> for i in reversed(a): 
...  print i 
... 
4 
3 
2 
1 
0