M
MackS
Hello everyone
Consider the following
....[1, 2]
I understand (I think!) that this is due to the fact that in Python
what looks like "assignment" really is binding a name to an object. The
result is that inside the loop I am creating an object with value (i+1)
and then "pointing" the name i at it. Therefore, the object to which i
previously pointed (an element of list l) remains unchanged.
Two brief questions:
1) Is what I wrote above (minimally) correct?
2) Independently of the answer to 1, is there a way for me to assign to
elements of a list inside a loop and without resorting to C-style
ugliness of
for i in range(len(l))
l = l + 1
?
(Note: not using a list comprehension.)
Thanks in advance
Mack
Consider the following
.... i = i + 1l = [1,2]
for i in l:
....[1, 2]
I understand (I think!) that this is due to the fact that in Python
what looks like "assignment" really is binding a name to an object. The
result is that inside the loop I am creating an object with value (i+1)
and then "pointing" the name i at it. Therefore, the object to which i
previously pointed (an element of list l) remains unchanged.
Two brief questions:
1) Is what I wrote above (minimally) correct?
2) Independently of the answer to 1, is there a way for me to assign to
elements of a list inside a loop and without resorting to C-style
ugliness of
for i in range(len(l))
l = l + 1
?
(Note: not using a list comprehension.)
Thanks in advance
Mack