A question about making a sort-of-counter.
Robert Kern
robert.kern at gmail.com
Tue Mar 30 17:58:34 EDT 2010
On 2010-03-30 16:31 PM, Justin Park 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?
def counter(n=5, length=5):
for i in xrange(n ** length):
x = []
for j in range(length):
i, r = divmod(i, n)
x.append(r)
yield [k+1 for k in x[::-1]]
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless enigma
that is made terrible by our own mad attempt to interpret it as though it had
an underlying truth."
-- Umberto Eco
More information about the Python-list
mailing list