On Jun 5, 11:21 am, Ivan Illarionov <[EMAIL PROTECTED]> wrote: > On 5 июн, 18:56, Ivan Illarionov <[EMAIL PROTECTED]> wrote: > > > > > On 5 июн, 18:19, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> > > wrote: > > > > On Jun 5, 3:49 pm, Ivan Illarionov <[EMAIL PROTECTED]> wrote: > > > > > On 5 ÉÀÎ, 01:57, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> > > > > wrote: > > > > > > Hi Everyone, > > > > > > i have another question. What if i wanted to make n tuples, each with > > > > > a list of coordinates. For example : > > > > > > coords = list() > > > > > for h in xrange(1,11,1): > > > > > for i in xrange(1, 5, 1) : > > > > > for j in xrange(1, 5, 1) : > > > > > for k in xrange(1,2,1) : > > > > > coords.append((i,j,k)) > > > > > lista+str(h)= tuple coords > > > > > print tuple(coords) > > > > > > so that i will have tuple1, tuple2,..., tupleN, etc. I am trying to do > > > > > it the way i show you above but it is not working properly. I wish you > > > > > could help me with that. Thanks again, > > > > >>> from itertools import repeat, izip > > > > >>> coords = tuple((i,j,k) for i in xrange(1,5) for j in xrange(1,5) > > > > >>> for k in xrange(1,2)) > > > > >>> locals().update(("tuple%s" % i, coord) for i, coord in > > > > >>> izip(xrange(1,11), repeat(coords))) > > > > >>> tuple1 > > > > > ((1, 1, 1), (1, 2, 1), (1, 3, 1), (1, 4, 1), (2, 1, 1), (2, 2, 1), (2, > > > > 3, 1), (2 > > > > , 4, 1), (3, 1, 1), (3, 2, 1), (3, 3, 1), (3, 4, 1), (4, 1, 1), (4, 2, > > > > 1), (4, 3 > > > > , 1), (4, 4, 1)) > > > > > Does this help? > > > > > But I don't understand why you need this? > > > > > Ivan > > > > Hi, > > > > What i need is, for example: > > > > tuple 1=((1, 1, 1), (1, 2, 1), (1, 3, 1), (1, 4, 1)) > > > > tuple 2=((2, 1, 1), (2, 2, 1), (2, 3, 1), (2, 4, 1)) > > > > tuple 3=((3, 1, 1), (3, 2, 1), (3, 3, 1), (3, 4, 1)) > > > > and so on. Please help me and sorry for not taking the time to post my > > > questions properly. > > > > Victor > > > Or even so: > > > locals().update(("tuple_%s" % i, tuple((i,j,k) for j in range(1,5) for > > k in range(1,2))) for i in range(1,5)) > > > Ivan > > Tried to make it readable: > > def iter_coords(i): > for j in xrange(1,5): > for k in xrange(1,2): > yield i, j, k > > def iter_vars(): > for i in xrange(1, 5): > yield "tuple_%s" % i, tuple(iter_coords(i)) > > locals().update(dict(iter_vars()))
locals().update() works by accident here because it's in global scope; it doesn't work within a function. Use a proper data structure, like a dict or a list, and access each tuple list as 'tuples[n]' instead of 'tuple_n'. George -- http://mail.python.org/mailman/listinfo/python-list