I think what you are looking for is the product of two lists, not the permutations:
#!/usr/bin/env python
import itertools
list1=['square','circle','triangle']
list2=['red','green']
for shape,color in itertools.product(list1,list2):
print(shape+color)
yields
squarered
squaregreen
circlered
circlegreen
trianglered
trianglegreen
If you'd like both squarered
and redsquare
, then you could do something like this:
for pair in itertools.product(list1,list2):
for a,b in itertools.permutations(pair,2):
print(a+b)
or, to make it into a list:
l=[a+b for pair in itertools.product(list1,list2)
for a,b in itertools.permutations(pair,2)]
print(l)
yields
['squarered', 'redsquare', 'squaregreen', 'greensquare', 'circlered', 'redcircle', 'circlegreen', 'greencircle', 'trianglered', 'redtriangle', 'trianglegreen', 'greentriangle']