Pythonのリストのコピー コピーを変更すると元のリストも変更される

Pythonでリストが代入されている変数を他の変数に代入すると、2つの変数は同じリストを指すようになるらしい。

>>> a = [1, 2]
>>> b = a
>>> id(a)
140313826148872
>>> id(b)
140313826148872
>>> b[0] = 3
>>> b
[3, 2]
>>> a
[3, 2]

下記のようにすると、別のデータとなるらしい。

>>> c = [1, 2]
>>> d = c[:]
>>> id(c)
140313825712264
>>> id(d)
140313825712712
>>> d[0] = 3
>>> d
[3, 2]
>>> c
[1, 2]