我想根据循环中发生的变化来改变“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
答案 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