ray88’s diary

お仕事で困ったとき用の自分用の覚書

Python 辞書を複製する copy()

python 目次 - ray88’s diary
各種目次 - ray88’s diary
■copy( )メソッドで複製する
【copyで複製した例】

data = {"a":100,"b":200,"c":300}
data_b = data.copy()          # dataを複製する
data_b["c"]=0                 # data_b の "c" の値を変更する
print("data_b:",data_b)
print("data:",data)           # コピー元のデータは変化しない

出力結果
 
■注意:元の辞書を変数に代入しても複製されません!
 リストと同様、辞書は変数代入時は参照渡しとなるため複製されない。
 変数に代入した辞書の値等に変更処理した場合、元の辞書の内容も変わってしまう。
【変数代入時の例】

data = {"a":100,"b":200,"c":300}
data_b = data                 # 代入する(辞書を代入すると参照が入る)
data_b["c"]=0                 # data_b の "c" の値を変更する
print("data_b:",data_b)
print("data:",data)           #元の値も更新されている

出力結果