MARTHA VIJAY KUMAR
MARTHA VIJAY KUMAR

Reputation: 31

Making combinations of 1st element in list and other elements of the same list in python

I have a requirement with python to take combinations with 1st element in a list as common and take other combinations.

list1=['EXCHANGE_US_M','1021,2360','1256,14536,5429','AED589L','DOL895']

I have a list as above and I want to have combinations as below.

'EXCHANGE_US_M/0','1021','1256','AED589L','DOL895',
'EXCHANGE_US_M/1','1021','14536','AED589L','DOL895',
'EXCHANGE_US_M/2','1021','15429','AED589L','DOL895',
'EXCHANGE_US_M/3','2360','1256','AED589L','DOL895',
'EXCHANGE_US_M/4','2360','14536','AED589L','DOL895',
'EXCHANGE_US_M/5','2360','5429','AED589L','DOL895',

Upvotes: 3

Views: 233

Answers (1)

G_M
G_M

Reputation: 3382

>>> from itertools import product
... 
... list1 = ['EXCHANGE_US_M', '1021,2360', '1256,14536,5429', 'AED589L', 'DOL895']
... 
... for i, p in enumerate(product(*[elem.split(',') for elem in list1])):
...     print(('{}/{}'.format(p[0], i), *p[1:]))
... 
('EXCHANGE_US_M/0', '1021', '1256', 'AED589L', 'DOL895')
('EXCHANGE_US_M/1', '1021', '14536', 'AED589L', 'DOL895')
('EXCHANGE_US_M/2', '1021', '5429', 'AED589L', 'DOL895')
('EXCHANGE_US_M/3', '2360', '1256', 'AED589L', 'DOL895')
('EXCHANGE_US_M/4', '2360', '14536', 'AED589L', 'DOL895')
('EXCHANGE_US_M/5', '2360', '5429', 'AED589L', 'DOL895')

Upvotes: 5

Related Questions