相关疑难解决方法(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万
查看次数

获取一系列列表的笛卡尔积?

如何从一组列表中获取笛卡尔积(每种可能的值组合)?

输入:

somelists = [
   [1, 2, 3],
   ['a', 'b'],
   [4, 5]
]
Run Code Online (Sandbox Code Playgroud)

期望的输出:

[(1, 'a', 4), (1, 'a', 5), (1, 'b', 4), (1, 'b', 5), (2, 'a', 4), (2, 'a', 5) ...]
Run Code Online (Sandbox Code Playgroud)

python list cartesian-product

289
推荐指数
9
解决办法
18万
查看次数

在Python中迭代带有索引的列表

我可以发誓我已经看到了获取列表的函数(或方法),就像这样,[3, 7, 19]并使其成为可迭代的元组列表,如下所示:[(0,3), (1,7), (2,19)]使用它代替:

for i in range(len(name_of_list)):
    name_of_list[i] = something
Run Code Online (Sandbox Code Playgroud)

但我不记得名称和谷歌搜索"迭代列表"什么都没有.

python list

193
推荐指数
5
解决办法
31万
查看次数

如何在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 ×4

list ×3

cartesian-product ×1

for-loop ×1

iterator ×1

loops ×1