[Tutor] Changing lists in place
Paul D. Eden
paul at benchline.org
Mon Apr 17 20:11:44 CEST 2006
Lists are mutable, you are right.
But the code you gave does not change the list. It changes the variable
element which is separate from the list myList.
If you want to change the list try something like this:
mylist = [ 'One ', ' two', ' three ' ]
print mylist
newlist = []
for element in mylist:
element = element.strip()
newlist.append(element)
print "<>" + element + "<>"
print newlist
OR
mylist = [ 'One ', ' two', ' three ' ]
print mylist
mylist = [element.strip() for element in mylist]
for element in mylist:
print "<>" + element + "<>"
print mylist
Paul
Paul D. Kraus wrote:
> I have a list that I want to change in a for loop. It changes in the
> loop but the changes are not persistant outside of the loop.
> I thought lists were mutuable objects so I am a bit confused.
>
> Sample Code....
> #!/usr/bin/env python
> """ Testing lists """
>
> mylist = [ 'One ', ' two', ' three ' ]
> print mylist
> for element in mylist:
> element = element.strip()
> print "<>" + element + "<>"
> print mylist
>
>
> Sample Output....
> ['One ', ' two', ' three ']
> <>One<>
> <>two<>
> <>three<>
> ['One ', ' two', ' three ']
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> Tutor maillist - Tutor at python.org
> http://mail.python.org/mailman/listinfo/tutor
More information about the Tutor
mailing list