if var1 equals 1, and you run var2 = var1, that sets var2 to 1.

if list1 equals [1, 2, 3], and you run list2 = list1, that sets list2 to list1

so if you then run var1 = 2, var2 will still be 1

but if you run list1 = [3, 2, 1], list2 will give [3, 2, 1]

you are viewing a single comment's thread
view the rest of the comments
[–] 2 points 1 year ago*

in first case it is pass by value. for list you are passing a reference.

https://www.geeksforgeeks.org/python/pass-by-reference-vs-value-in-python/

  • source