本文介绍了用于增量内循环的python的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何从内循环增加外迭代器?
How to increment the outer iterator from the inner loop?
更准确地说:
for i in range(0,6):
print i
for j in range(0,5):
i = i+2
我要了
0
1
2
3
4
5
,但我想要 0,2,4
以上是我想要实现的简化想法.
Above is the simpilfied idea what I want to acheive.
这是我的 Java 代码:
Here is my Java code:
str1="ababa"
str2="aba"
for(int i =0; i < str1.length; i++)
for(int j =0; j < str2.length; j++)
if str1[i+j]!=str[j]
break;
if( j ==str2.length -1)
i=i+str2.length;
推荐答案
看来要使用 range 函数的 step 参数.来自文档:
It seems that you want to use step parameter of range function. From documentation:
range(start, stop[, step]) 这是一个多功能的函数来创建包含算术级数的列表.它最常用于循环.参数必须是普通整数.如果 step 参数是省略,默认为 1.如果省略 start 参数,则默认为 0.完整形式返回一个纯整数列表 [start,开始 + 步,开始 + 2 * 步,...].如果 step 为正,则最后一个element 是最大的 start + i * step 小于 stop;如果步骤是负数,最后一个元素是最小的 start + i * step 更大比停止.step 不能为零(否则会引发 ValueError).示例:
>>> range(10) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> range(1, 11) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
>>> range(0, 30, 5) [0, 5, 10, 15, 20, 25]
>>> range(0, 10, 3) [0, 3, 6, 9]
>>> range(0, -10, -1) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9]
>>> range(0) []
>>> range(1, 0) []
在您获得 [0,2,4] 的情况下,您可以使用:
In your case to get [0,2,4] you can use:
range(0,6,2)
或者在你的情况下是 var:
OR in your case when is a var:
idx = None
for i in range(len(str1)):
if idx and i < idx:
continue
for j in range(len(str2)):
if str1[i+j] != str2[j]:
break
else:
idx = i+j
这篇关于用于增量内循环的python的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!