python list by value not by reference [duplicate]

Let’s take an example

a=['help', 'copyright', 'credits', 'license']
b=a
b.append('XYZ')
b
['help', 'copyright', 'credits', 'license', 'XYZ']
a
['help', 'copyright', 'credits', 'license', 'XYZ']

I wanted to append value in list ‘b’ but the value of list ‘a’ have also changed.

I think I have little idea why its like this (python passes lists by reference).

My question is “how can I pass it by value so that appending ‘b’ does’t change values in ‘a’ ?”

11 Answers
11

Leave a Comment