【问题标题】:Python: How to iterate through two iterators simultaneously in a single loop? (Each iterator also has two yield outputs) [duplicate]Python:如何在一个循环中同时遍历两个迭代器? (每个迭代器也有两个产量输出)[重复]
【发布时间】:2013-10-19 02:51:55
【问题描述】:

我有两个迭代器(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_count 和 b_count?

【问题讨论】:

    标签: python


    【解决方案1】:

    我相信这就是你所追求的:

    for (a, b), (c, d) in izip(iter1, iter2)
    

    这是 Python 的优点之一

    【讨论】:

      猜你喜欢
      • 2021-10-05
      • 2020-02-20
      • 2016-03-15
      • 2016-04-07
      • 2018-03-19
      • 2016-05-08
      • 1970-01-01
      • 2014-02-01
      相关资源
      最近更新 更多