Sko*_*ius 8 python iterator nested-loops python-itertools
假设我有以下代码:
a = [1,2,3]
b = [2,4,6]
c = [3,5,7]
for i in a:
for j in b:
for k in c:
print i * j * k
Run Code Online (Sandbox Code Playgroud)
有没有办法可以在一行中合并迭代器而不是嵌套?
Kas*_*mvd 11
使用itertools.product列表理解中:
In [1]: from itertools import product
In [5]: [i*j*k for i, j, k in product(a, b, c)]
Out[5]:
[6,
10,
14,
12,
20,
28,
18,
30,
42,
12,
20,
28,
24,
40,
56,
36,
60,
84,
18,
30,
42,
36,
60,
84,
54,
90,
126]
Run Code Online (Sandbox Code Playgroud)