I am trying to combine 2 lists and want to form combinations.
a = [\'ibm\',\'dell\']
b = [\'strength\',\'weekness\']
I want to form combina
You're looking for product(). Try this:
import itertools
a = ['ibm', 'dell']
b = ['strength', 'weakness']
[' '.join(x) for x in itertools.product(a, b)]
=> ['ibm strength', 'ibm weakness', 'dell strength', 'dell weakness']
To loop over the results don't forget that itertools.product()
returns an iterator that can be consumed only once. If you need it at a later time, convert it into a list (as I did above, using a list comprehension) and store the result in a variable, for future use. For example:
lst = list(itertools.product(a, b))
for a, b in lst:
print a, b
For a Cartesian product, you want itertools.product() instead of combinations.
A nested for-loop would also work:
for x in a:
for y in b:
c = a + b
print(c)