python中“for循环”的步骤

时间:2015-10-25 15:09:14

标签: python numpy import

我想根据循环中发生的变化来改变“for循环”的步骤。例如:

for i in np.arange(0,l00):
     i=i*10

在上面提到的代码循环运行100次,而我希望i * 10对循环产生影响,它运行10次!你可以指导我吗?

实际上,这只是一个简单的例子,但主要问题是改变循环中的步骤。 ......这样:

data = pd.read_csv('/home/Desktop/dataset.txt')    
for i in np.arange(0,l00):
     if data[i,0]==5:
         i=i*5
     elif data[i,0]==10:
         i=i*10
     else:
         i=i*20

5 个答案:

答案 0 :(得分:1)

RTFM numpy.arange,它是第三个参数:

  

numpy.arange([start,] stop,[step,] dtype = None)

     

<强>参数:

     

开始:数字,可选

     

间隔开始。间隔包括此值。默认起始值​​为0.

     

停止:号码

     

间隔结束。间隔不包括此值,除非在某些情况下,step不是整数,浮点舍入会影响out的长度。

     

步骤:数字,可选&lt;&lt; ------- HERE

     

值之间的间距。对于任何输出,这是两个相邻值之间的距离,out [i + 1] - out [i]。默认步长为1.如果指定了step,则还必须给出start。

答案 1 :(得分:0)

您可以使用numpay.arange() var s1 = 60; function f1() { `` if (document.M.elements[0] == s1) { window.location = 'tick.htm'; } else { window.location = 'cross.htm'; } } :(有关详情,请点击此链接)

numpy.arange([start, ]stop, [step, ]dtype=None)

以下是更多示例:

>>>np.arange(0,100,10)
array([ 0, 10, 20, 30, 40, 50, 60, 70, 80, 90])

答案 2 :(得分:0)

替代numpy的arange你可以使用python的xrange来实现你想要的东西:

for i in xrange(0,100,10):
  print(i)

答案 3 :(得分:0)

你可以使用python的扩展切片功能。

17c17
<   retval = setsockopt(socket_fd, IPPROTO_TCP, SO_KEEPALIVE,
---
>   retval = setsockopt(socket_fd, SOL_SOCKET, SO_KEEPALIVE,

答案 4 :(得分:0)

可以使用while - if - break循环完成此操作:

您:

for i in np.arange(0,l00):
     i=i*10

将是:

i = 0
while True:
    if i > 100:
       break
    i = i + 10

data = pd.read_csv('/home/Desktop/dataset.txt')    
for i in np.arange(0,l00):
     if data[i,0]==5:
         i=i*5
     elif data[i,0]==10:
         i=i*10
     else:
         i=i*20

将是:

data = pd.read_csv('/home/Desktop/dataset.txt')  
i = 0
while True:
    if i > 100:
       break

    if data[i, 0] == 5:
        i = i + 5
    elif data[i, 0] == 10:
        i = i + 10
    else:
        i = i + 20