if var1 equals 1, and you run var2 = var1, that sets var2 to 1.
if list1 equals [], 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 []


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/