我正在谈论做类似的事情:
for(i=n; i>=1; --i) {
//do something with i
}
我可以想出一些方法在 python 中做到这一点(创建一个列表range(1,n+1)
并反转它,使用while
and --i
,...)但我想知道是否有更优雅的方法来做到这一点。有没有?
编辑:
有些人建议我使用 xrange() 而不是 range(),因为 range 返回一个列表,而 xrange 返回一个迭代器。但在Python 3(我碰巧使用)中,range()返回一个迭代器,而xrange不存在。
range()
and xrange()
采用指定步骤的第三个参数。所以你可以执行以下操作。
range(10, 0, -1)
这使
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]
但对于迭代,你真的应该使用xrange
反而。所以,
xrange(10, 0, -1)
Python 3 用户注意:没有单独的range
and xrange
Python 3 中的函数,只有range
,它遵循Python 2的设计xrange
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)