相关疑难解决方法(0)

如何并行迭代两个列表?

我在Python中有两个迭代,我想成对地遍历它们:

foo = (1, 2, 3)
bar = (4, 5, 6)

for (f, b) in some_iterator(foo, bar):
    print "f: ", f, "; b: ", b
Run Code Online (Sandbox Code Playgroud)

它应该导致:

f: 1; b: 4
f: 2; b: 5
f: 3; b: 6
Run Code Online (Sandbox Code Playgroud)

一种方法是迭代索引:

for i in xrange(len(foo)):
    print "f: ", foo[i], "; b: ", b[i]
Run Code Online (Sandbox Code Playgroud)

但这对我来说似乎有点不合时宜.有没有更好的方法呢?

python iterator for-loop list

767
推荐指数
6
解决办法
58万
查看次数

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

我有两个迭代器(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
Run Code Online (Sandbox Code Playgroud)

有谁知道我是否可以将这两个 for 循环结合起来,以便我可以同时计数 a_count 和 b_count?

python

1
推荐指数
1
解决办法
4385
查看次数

标签 统计

python ×2

for-loop ×1

iterator ×1

list ×1