KraftDiner wrote: > I was under the assumption that everything in python was a refrence...
It is, although it is better to think in terms of names and bindings. > > 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.) During execution of this code, the name 'i' is bound to 1, 2, 3 and 4. the list elements are bound to 1, 2, and 3. Rebinding 'i' such that instead of referencing 2 it now references 4 doesn't affect the fact that the second element of the list references 2. > so it seems that in order to do this I need to code it like: > > lst = [1,2,3] > for i in range(len(lst)): > if lst[i] == 2: > lst[i]=4 > print lst > > Have I misunderstood something? Evidently. -- http://mail.python.org/mailman/listinfo/python-list