Python:如何在一个循环中同时迭代两个迭代器?(每个迭代器也有两个输出)

Python:如何在一个循环中同时迭代两个迭代器?(每个迭代器也有两个输出),python,Python,我有两个迭代器A_subseq和B_subseq,每个迭代器有两个从A_subseq得到的输出Aseq和Ahseq。我需要保持两个迭代器的索引计数。如果我能将两个for循环组合成一个循环,这是可以做到的 a和b都是迭代器。k只是一个常数整数 a_count = 0 b_count = 0 A_subseq = subsequenceHashes(a,k) B_subseq = subsequenceHashes(b,k) Match = Multidict() for Aseq,Ahash

我有两个迭代器A_subseq和B_subseq,每个迭代器有两个从A_subseq得到的输出Aseq和Ahseq。我需要保持两个迭代器的索引计数。如果我能将两个for循环组合成一个循环,这是可以做到的

a和b都是迭代器。k只是一个常数整数

a_count = 0
b_count = 0

A_subseq = subsequenceHashes(a,k)
B_subseq = subsequenceHashes(b,k)

Match = Multidict()

for Aseq,Ahash in A_subseq:
    Match.put(Ahash,Aseq)

for Bseq,Bhash in B_subseq:
    b_count += 1
    if Bseq in Match.get(Bhash):
        yield xxx

有人知道我是否可以将这两个for循环组合起来,这样我就可以同时计算a_计数和b_计数了吗?

我相信这就是你想要的:

for (a, b), (c, d) in izip(iter1, iter2)
这是Python之美的特性之一