13

我想知道是否可以以更好的方式编写以下代码中的 3 个 for 循环:

   Nc = 10     # number of points for (0, pi)
   cc1 = linspace(0,pi,Nc)
   cc2 = linspace(0,pi/2,Nc/2)
   cc3 = linspace(0,pi/2,Nc/2)
   for c1 in cc1:
       for c2 in cc2:
           for c3 in cc3:
               print c1,c2,c3
4

2 回答 2

25
import itertools

for a,b,c in itertools.product(cc1, cc2, cc3):
    print a,b,c
于 2012-08-20T04:13:00.080 回答
7

尝试这个 :)

[(c1, c2, c3) for c1 in cc1 for c2 in cc2 for c3 in cc3]
于 2012-08-20T04:13:06.850 回答