1

最初のループの反復子が 2 番目のループの入り口にある場所に続いて、2 番目の Python ループを開始する必要があります。

現在、両方のループが範囲全体を実行しています

残念ながら、私はこの構文を理解していません

例の完全なコードはこちら: https://gist.github.com/kylemcdonald/c8e62ef8cb9515d64df4

for i, (start1, stop1) in enumerate(zip(starts, stops)):
    audio1 = y[start1:stop1]

    for j, (start2, stop2) in enumerate(zip(starts, stops)):
        audio2 = y[start2:stop2]

に変えてみました

for i, (start1, stop1) in enumerate(zip(starts, stops)):
    audio1 = y[start1:stop1]

    for j, (start2, stop2) in enumerate(zip(start1, stops)):
        audio2 = y[start2:stop2]

しかし、私はエラーが発生します:zip argument #1 must support iteration

また、Cで行われる明らかな方法も試しました

for i, (start1, stop1) in enumerate(zip(starts, stops)):
    audio1 = y[start1:stop1]

    for j = i+1, (start2, stop2) in enumerate(zip(start1, stops)):
        audio2 = y[start2:stop2]

しかし、私はエラーが発生します:SyntaxError: invalid syntax

私は Python プログラマーではありません。この複雑な構文を理解して修正し、ループ 1 の現在の反復子に続く反復子から loop2 が始まり、ループの最後に行くようにしてください。

そのため、比較が繰り返されることはなく、同じオーディオ サンプルが 2 つ比較されることもありません。

ありがとう、

4

2 に答える 2