assignment statements: lists vs. strings
Terry Reedy
tjreedy at udel.edu
Mon Feb 2 11:25:05 EST 2004
"Klaus Neuner" <klaus_neuner82 at yahoo.de> wrote in message
news:3e96ebd7.0402020750.3b0b9b82 at posting.google.com...
> Hello,
>
> I would like to understand the reason for the following difference
> between dealing with lists and dealing with strings:
You are doing different operations, and hence should not expect the same
result.
> >>> string1 = "bla"
> >>> string2 = string1
> >>> string1 = string1 + "bla"
Here you add two strings together to get a third, which you bind back to
the first name
> >>> string1
> 'blabla'
> >>> string2
> 'bla'
> >>> list1 = [1,2]
> >>> list2 = list1
> >>> list1.append(1)
Here you mutate a list in place, which you can do because lists are mutable
and which you cannot do with strings. To parallel your string operation,
try
list1 = list1 + [1,2]
before you mutate list1 and you should get [1,2,1,2]
> >>> list1
> [1, 2, 1]
> >>> list2
> [1, 2, 1]
Terry J. Reedy
More information about the Python-list
mailing list