On Tue, Mar 30, 2010 at 2:31 PM, Justin Park <h...@rice.edu> wrote:
> Suppose I have a list.
> a = list()
> And suppose allowed digits as the element are 1,2,3,4,5.
>
> What can I do in order to iterate over all possible values for each element?
> For instance, the sequence of the list I want to have would be
> [1,1,1,1,1]
> [1,1,1,1,2]
> [1,1,1,1,3]
>
> ....
>
> [5,5,5,5,4]
> [5,5,5,5,5]
>
> How can I make it happen?

allowed = range(1,6)
length = 5
for counter_tuple in product(allowed, repeat=length):
    counter_list = list(counter_tuple) # if you really need a list
    #do whatever with the counter value

See the docs for itertools.product(); an example virtually identical
to your situation is given:
http://docs.python.org/library/itertools.html#itertools.product

Cheers,
Chris
--
http://blog.rebertia.com
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to