对于标题中的措辞感到抱歉,但我没有看到任何其他表达方式。
我在python中正确地尝试了一点,并且创建一个循环运行多次的循环(如Ruby中的5.times do ... end
)的唯一方法是需要numpy
然后做类似的事情:
my_var = 5
for num in numpy.arange(my_var):
# stuff
对我来说看起来有点麻烦。我想知道是否有更多的 pythonic 方法。谢谢。
答案 0 :(得分:5)
使用普通range
方法。
for num in range(5):
# Do Something
range
创建一个大小列表,指定为从0到数字1的参数,在这种情况下为[0, 1, 2, 3, 4]
。
如果迭代次数较多,创建列表会占用内存,请在Python 2.x(Python 3.x中为xrange
)中使用range
,这会创建一个生成数字的迭代器请求而不是一次生成整个列表。
答案 1 :(得分:2)
只需使用范围:
for _ in range(my_var):
#do stuff
在这里,_
是一个一次性变量,这意味着你实际上不需要它来运行你的循环,如果你需要范围内的每个数字,那么
for i in range(my_var):
#do stuff
在python-3.x中,range
返回一个迭代器,而在python-2.x中,它将返回一个列表。要在python中保存内存,可以使用xrange
isntead,它也返回一个迭代器:
for i in xrange(my_var):
#do stuff