On Dec 13, 10:24 am, Marc 'BlackJack' Rintsch <[EMAIL PROTECTED]> wrote: > On Thu, 13 Dec 2007 06:51:23 -0800, rishiyoor wrote: > > When you say python automatically allocates memory, what would you do > > if you don't know the size of the list of, say for example, the > > nearest pairs between the two groups. I would probably iterate over > > all the pairs and create a new list. I did a similar operation in > > another program, but I had to initialize the list (statically) with x > > = [0]*50 before I could use it in the for loop. > > Only if you used an index instead of starting with an empty list and > appending values to it. Or in simple cases a list comprehension might > replace a ``for`` loop. > > "Bad" and "unpythonic" example: > > new = [0] * len(old) > for i in xrange(len(old)): > new[i] = do_something(old[i]) > > Better written as: > > new = list() > for item in old: > new.append(do_something(item)) > > Or as list comprehension: > > new = [do_something(item) for item in old] > > Or: > > new = map(do_something, old) > > Ciao, > Marc 'BlackJack' Rintsch
Thanks Marc. -- http://mail.python.org/mailman/listinfo/python-list