On Fri, Aug 28, 2009 at 9:18 AM, vince spicer <vinces1...@gmail.com> wrote:
> > > On Fri, Aug 28, 2009 at 8:05 AM, kevin parks <k...@me.com> wrote: > >> Back to python after a long long layoff. So i am running into some >> beginner's confusion... >> >> I am trying to plot a list of numbers in gnuplot.py. To do that I am >> trying to pack the list with an index by iterating over the list so i can >> get something like: >> >> foo = [12, 11, 9, 6, 2, 9, 3, 8, 12, 3, 5, 6] >> >> [ [1, 12], [2, 11], [3, 9], [4, 6], [5, 2], [6, 9], [7, 3], [8, 8] ... ] >> >> So that i have x, y pairs to plot. When i print in my func i get the right >> thing, for each item (note scaffolding) yet when i reurn the whole list i >> just get the last pair repeated over and over. >> >> I am not sure why this is. >> >> >> def pack(in_seq): >> out_list=[] >> x = 1 >> ll=[1, 1] >> for each in in_seq: >> ll[0] = x >> ll[1] = each >> out_list.append(ll) >> #print ll >> x = x + 1 >> print out_list >> >> >> # function declarations would go here >> def test(): >> """test function - say what this does here and skip a line >> >> Keyword arguments: >> none >> """ >> >> print >> foo = minus(200) >> plot_me = pack(foo) >> #print foo >> print >> print plot_me >> >> >> if __name__ == "__main__": >> test() >> >> >> _______________________________________________ >> Tutor maillist - Tutor@python.org >> http://mail.python.org/mailman/listinfo/tutor >> > > > Although I didn't test your code, I think what you are trying to accomplish > can be done using enumerate cleaner > > > def pack(foo): > out = [] > for x,y in enumerate(foo, 1): > out.append((x,y)) > return out > > > > Or even cleaner with list comprehension def pack(foo): return [x for x in enumerate(foo, 1)]
_______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor