nos
nos

Reputation: 20862

Python multiple for loops

I am wondering if the 3 for loops in the following code can be written in a better way:

   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

Upvotes: 13

Views: 28485

Answers (2)

blueiur
blueiur

Reputation: 1507

try this :)

[(c1, c2, c3) for c1 in cc1 for c2 in cc2 for c3 in cc3]

Upvotes: 8

Amber
Amber

Reputation: 526573

import itertools

for a,b,c in itertools.product(cc1, cc2, cc3):
    print a,b,c

Upvotes: 28

Related Questions