【发布时间】:2011-03-29 10:49:01
【问题描述】:
我说的是做类似的事情:
for(i=n; i>=1; --i) {
//do something with i
}
我可以想到一些在 python 中这样做的方法(创建range(1,n+1) 的列表并使用while 和--i 反转它,...)但我想知道是否有更优雅的方法它。有吗?
编辑: 有人建议我使用 xrange() 而不是 range() 因为 range 返回一个列表,而 xrange 返回一个迭代器。但是在 Python 3(我碰巧使用)中,range() 返回一个迭代器并且 xrange 不存在。
【问题讨论】:
-
回答有点晚了,但是我没有在这里看到最简单的解决方案,所以在这里...... .....................
for i in range(n)[::-1]这将以相反的顺序为您提供i.和平相处。 -
@ParthikB 反过来最终不会创造额外的空间吗?看起来您正在创建一个新的反向数组 - 我可能错了?