In Python a variable holds a reference to an object.
To "change" a variable, you may either change the referenced object. Or reference an other object.
"Immutable" object force you to use the first solution as the object by itself cannot be modified. "Mutable" objects give you the choice between the two options.
As string are immutable, you cannot "change" a string object. All you can do, is create a new string and update the reference to hold that newly created string:
>>> v1 = v2 = "hello"
>>> v1 += "world"
# v1 and v2 no longer references the same object:
>>> v1 is v2
False
>>> v1
'helloworld'
>>> v2
'hello'
But as list are mutable you have the choice to change them "in place":
>>> v1 = v2 = ['h', 'e', 'l', 'l', 'o']
>>> v1 += ['w', 'o', 'r', 'l', 'd']
# v1 and v2 still references the same object:
>>> v1 is v2
True
>>> v1
['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
>>> v2
['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
Or to create a new list and update the reference:
>>> v1 = v2 = ['h', 'e', 'l', 'l', 'o']
>>> v1 = v1 + ['w', 'o', 'r', 'l', 'd']
# v1 and v2 no longer references the same object:
>>> v1 is v2
False
>>> v1
['h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd']
>>> v2
['h', 'e', 'l', 'l', 'o']