>>735
変数に新しい参照を代入しているのかそれとも参照先の値を変更しているのかの違い

num_list1 = [1, 2, 3]
num_list2 = num_list1
num_list1 = [4, 5, 6]
↑新しい参照を代入している(俗に言う参照の値渡し)

num_list1[0] = 10
↑num_list1が参照している先の値を変更している