有两个参数的for循环

时间:2013-12-25 21:41:49

标签: for-loop

我想尝试这个循环,但它说不可能。我怎样才能创建这些循环?

for i in range (sposA,sposB) and for j in range(eposB+1,sposB,-1): 
    if tempstr[i] == ctempstr[j]: 
        pcount += 1

1 个答案:

答案 0 :(得分:1)

在基本上任何语言中,这样的结构都是模棱两可的。您是否尝试在两个维度中循环(如果每个索引列表为xy为长,您是否正在进行x * y事情?)或并行(是索引长度相同,例如x,并配对,所以你只做x件事。)。

如果你想循环二维,你只需嵌套循环:

for i in range(x):
    for j in range(y):
       doStuff(i, j)

如果它们是并行的,您可以在它们之间创建一些功能依赖,这样您就可以将索引i转换为索引j,或者组合指标:

for i in range(x):
    j = f(i)
    doStuff(i, j)

for i, j in zip(range(x), range(y)):
    doStuff(i, j)

上面的内容是Python-pseudocode,但控制结构广泛适用于任何命令式语言(C,Python,Java ......)。