你可以像Python中的-1步一样在Python中使用for循环吗?
问题描述:
我把一些VBA代码到Python和我碰到下面的循环哪些步骤-1你可以像Python中的-1步一样在Python中使用for循环吗?
For k = i - 1 To 1 Step -1
什么是Python中的-1步骤相当于来了?
答
for k in range(i-1, 0, -1):
...
答
如果你想字面翻译用它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
答
如果你在迭代Ø真正感兴趣然后使用reversed()
:
>>> a = list(range(5))
>>> for i in reversed(a):
... print i
...
4
3
2
1
0
请阅读一些文档。 – Marcin 2012-01-18 17:05:50
有人关闭了docs.python.org来抗议美国的SOPA法规吗? – 2012-01-18 17:06:17
当然,将它输入Google比Stack Overflow更快? – 2012-01-18 17:07:58