Stuart D. Gathman wrote: > On Wed, 04 Jan 2006 10:54:17 -0800, KraftDiner wrote: > > >>I was under the assumption that everything in python was a refrence... >> >>so if I code this: >>lst = [1,2,3] >>for i in lst: >> if i==2: >> i = 4 >>print lst >> >>I though the contents of lst would be modified.. (After reading that >>'everything' is a refrence.) >>... >>Have I misunderstood something? > > > It might help to do a translation to equivalent C: > > int _i1 = 1; > int _i2 = 2; > int _i3 = 3; > int _i4 = 4; > int* lst[NLST] = { &_i1,&_i2,&_i3 }; > int _idx; /* internal iterator */ > for (_idx = 0; _idx < NLST; ++_idx) { > int *i = lst[_idx]; > if (*i == *_i2) ^-- I have trouble with this line. Is it as is should be? I suppose it is not.
Claudio > i = &_i4; > } > for (_idx = 0; _idx < NLST; ++_idx) > printf("%d\n",*lst[_idx]); > -- http://mail.python.org/mailman/listinfo/python-list