2012-01-18 52 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