たけし備忘録

自分の好奇心の赴くままに勉強メモ LL系が大好き Python bash Julia C

pythonのリストコピーの注意

BFS(幅優先探索)の復習をちゃちゃっとやろうとしてたときにリストのコピーでハマりました。忘れそうなのでメモっておきます。

pythonでリストのコピーは

list=[1,2,3,4]

などとしたら

new_list1=list
new_list2=list[:]

の2通りの書き方がパッと思いつきますが、
この2つは全く違うものです。

new_list1はlistのアドレス渡し
new_list2はlistの新たなオブジェクトの生成です。

なのでnew_list1を書き換えるとlistの中身も変わります。

まだまだ初心者を脱することができない。