2个笛卡儿积分在python中

时间:2013-09-12 12:34:06

标签: python cartesian-product

你知道如何在python中循环100和200的笛卡尔积,例如:

for cartesian(100,200):
 print result

1,1
1,2
.
.
.
123,197
.
.
100,200

2 个答案:

答案 0 :(得分:9)

product功能将起作用:

from itertools import product
for j in product(range(100), range(200)):
  print j

或者,来自the product documentation

  

等效于生成器表达式中的嵌套for循环。例如,对于B中的y,乘积(A,B)的返回值与(x中的x的(x,y)相同)。

答案 1 :(得分:4)

也许我错过了什么,但不是这么简单:

for i in range(100):
    for j in range(200):
        print i, j

略微更优化的版本:

inner_range = range(200)
for i in range(100):
    for j in inner_range:
        print i, j