リストのコピー

リストへの参照を渡すときは、
lst_ref = lst_org

中身をコピーした新しいリストを渡すときは[:]を付ける
lst_cp = lst_org[:]

lst_org = ['apple', 'banana', 'orange']

lst1 = lst_org    # リストオブジェクトへの参照を渡す
lst2 = lst_org[:] # 中身をコピーした新たなリストオブジェクトを作成

lst_org[0] = 'MILK'

print(lst_org) #['MILK', 'banana', 'orange']
print(lst1)    #['MILK', 'banana', 'orange']
print(lst2)    #['apple', 'banana', 'orange']

[:]はシャローコピー

class Person:
    def __init__(self, name):
        self.name = name

    def rename(self, new_name):
        self.name = new_name


lst_org = [Person("John"), Person("Cameron")]
lst_cpy = lst_org[:]

print(lst_org[0].name) # John
print(lst_cpy[0].name) # John

lst_org[0].rename("Cromartie")

print(lst_org[0].name) # Cromartie
print(lst_cpy[0].name) # Cromartie