I have seen various combination formats. But I have to try something new. Lets say, we have three lists:
A = ('Li', 'B', 'C', 'N')
B = ('Li', 'B', 'C', 'N')
X = ('O', 'Br', 'Cl')
All the element of A
are same as B
. Now I need to create all possible combinations in the following formats:
# (i) ABX3
# (ii) AA'B2X6
# (iii) A2B2X6
Where A2 (is A_{2}) is 'A' with 2 in subscript and A!=A' in the combination.
Here is what I have tried so far:
import itertools
elem_list = ['Li','B','C','N']
CCA_combos1 = list(itertools.combinations(elem_list, 2))
display(CCA_combos1, len(CCA_combos1))
listX1 = ('O','Cl', 'Br')
CCA_combosX = []
for x in range(len(CCA_combos1)):
for y in range(0,len(listX1)):
CCA_combosX += [tuple(CCA_combos1[x]) + tuple(listX1[y])]
resX1 = [''.join(tups) for tups in CCA_combosX]
The above code not working well for Br
and Cl
I have no idea yet to create combination in A2BB'X6
.
You could use
itertools.product
. I hope I understood your question correctly.Outputs: