当前位置: 首页 > 面试题库 >

用于增量内循环的python

夏星阑
2023-03-14
问题内容

如何从内部循环增加外部迭代器?

更准确地说:

  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

上面是我想要实现的简化想法。

这是我的Java代码:

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;

问题答案:

似乎您想使用范围功能的step参数。从文档:

range(start,stop
[,step])这是创建包含算术级数的列表的通用功能。它最常用于for循环中。参数必须是纯整数。如果省略了step参数,则默认值为1。如果省略了start参数,则默认值为0。完整格式返回纯整数列表[start,start
+ step,start + 2 * step,…] 。如果step为正,则最后一个元素是最大的start + i * step小于stop;如果step为负,则最后一个元素为start + i * step大于stop的最小值。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],则可以使用:

range(0,6,2)

或者在您的情况下是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


 类似资料:
  • 如何在Swift3中编写以下内容? 这是我自己的尝试

  • 循环中的和有区别吗?这仅仅是语法问题吗?

  • 问题内容: 我正在做一些有关Java的研究,发现这很令人困惑: 这是永无止境的循环! 有人很好地解释了为什么会发生这种事情吗? 问题答案: 上面的循环与以下内容基本相同:- 3 次你的一部分声明- ,被评估为: - 您需要从此处删除分配,以使其起作用:- (根据评论的OP请求) 的行为:- 就注释中指定的问题而言,以下表达式的结果:- 获得如下:- 让我们标记第二条语句的不同部分:- 现在,首先将

  • 问题内容: 我不明白为什么这个职位增加方程不增加。我以为在+=操作之后,该值将增加1,然后围绕i的第二次将具有1值。但是输出是一个零零的无限循环。有谁能解释为什么“ i”不增加。 问题答案: @ njzk2的答案是正确的,但指出正确的 原因 很有用。 还有其他可能性-例如,为什么Java在分配后不执行postincrement运算符?(答案:因为那不是Java语言设计者选择的) Java语言规范第

  • 您好,我对jquery没有什么问题。首先,我有: 大众BORA 1.9TDI 1990 1995 奥迪A3 2.0TFSI 2006 2008 但我想实现: VW BORA 1.9TDI 1990 VW BORA 1.9TDI 1991 VW BORA 1.9TDI 1992 VW BORA 1.9TDI 1993 VW BORA 1.9TDI 1994 VW BORA 1.9TDI 1995 A

  • 问题内容: 我有以下简单脚本,在其中运行循环并希望维护。我无法弄清楚为什么计数器没有更新。是由于创建了subshel​​l导致的吗?我该如何解决呢? 问题答案: 首先,您没有增加计数器。更改成或将增加它。 其次,在您推测时将子shell变量反向传播给被调用者比较困难。子shell中的变量在子shell外部不可用。这些是子进程本地的变量。 解决此问题的一种方法是使用临时文件存储中间值: