combinations of variable length nested lists

Mark Robinson m.1.robinson at herts.ac.uk
Tue Aug 7 08:48:54 EDT 2001


I have hurt my brain (and those who are unfortunate to sit near me ;)) 
trying to formulate an algorithm for the following problem. I am sure 
that someone here must be able to help me out, it seems such a trivial 
problem.

I have a nested list structure of the following format:
[[2, 3, 4, 5],
  [4, 5, 6, 7, 34],
  [6, 2, 7, 4]
  ....
  ....
]

I want to generate all possible combinations that take one element from 
each nested list

i.e
[2, 4, 6, ..., ...]
[2, 4, 2, ..., ...]

If I knew the length of the outermost list beforehand I could hard code 
it as a series of nested for loops:

i.e

for i in list[0]:
	for j in list[1]:
		for k in list[2]:
				comb = [i, j, k]

but I can't figure a way to do this dynamically at runtime, when the 
outermost list is going to be variable in length.

If anyone can help, I'll be willing to sell my boss into slavery and 
give you all the profit ;)

Blobby




More information about the Python-list mailing list