在Python中循环使用给定变量的次数

时间:2014-04-27 07:41:52

标签: python loops numpy

对于标题中的措辞感到抱歉,但我没有看到任何其他表达方式。

我在python中正确地尝试了一点,并且创建一个循环运行多次的循环(如Ruby中的5.times do ... end)的唯一方法是需要numpy然后做类似的事情:

my_var = 5    

for num in numpy.arange(my_var):
    # stuff

对我来说看起来有点麻烦。我想知道是否有更多的 pythonic 方法。谢谢。

2 个答案:

答案 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