相关疑难解决方法(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中迭代两个或多个列表项的元组?

具体来说,我有两个字符串列表,我想将它们组合成一个字符串,其中每一行是列表中的下两个字符串,用空格分隔:

a = ['foo1', 'foo2', 'foo3']
b = ['bar1', 'bar2', 'bar3']
Run Code Online (Sandbox Code Playgroud)

我想要一个函数combine_to_lines(),它将返回:

"""foo1 bar1
foo2 bar2
foo3 bar3"""
Run Code Online (Sandbox Code Playgroud)

我承认我已经解决了这个问题,所以我要发布答案.但也许其他人有一个更好的或看到我的缺陷.

更新:我过度简化了上面的例子.在我的实际问题中,行以更复杂的方式格式化,需要从zip()返回的元组被解压缩.但是,为了达到这个例子最简单的解决方案,我感到非常荣幸.

python loops

12
推荐指数
3
解决办法
4805
查看次数

标签 统计

python ×2

for-loop ×1

iterator ×1

list ×1

loops ×1