If you’ve worked with Lists in Python before, you’ll quickly realise that they work differently from primitives like integers and strings. Consider the following:
a = "hello" b = a a = "world" print(a) # Outputs world print(b) # Outputs hello
Notice that changing the value of a
does not change the value of b
. This is called passing by value. In Python, Lists do not behave this way:
a = [2, 3, 4, 5] b = a a.append(6) print(a) # Outputs [2, 3, 4, 5, 6] print(b) # Outputs [2, 3, 4, 5, 6]
In the above example, notice that changing the value of List a
also changes the value of List b
. This is because both a
and b
are referring to the same List, and this is called passing by reference.