dict.copy() : ディクショナリのシャローコピーを返します。

python

Numpyの「dict.copy()」機能は、ディクショナリのシャローコピーを返すものです。シャローコピーとは、オブジェクトの複製を行う際に、オブジェクトの中身を完全に複製するのではなく、オブジェクトの中身を参照したまま、オブジェクト自体を複製することを指します。

以下のPythonコードを用いて、dict.copy()機能を説明します。

# シャローコピーを行う前のディクショナリ
dic = {'a': [1, 2, 3], 'b': [4, 5, 6]}
# シャローコピーを行う
dic_copy = dic.copy()
# シャローコピーを行った後のディクショナリ
print(dic_copy)
# {'a': [1, 2, 3], 'b': [4, 5, 6]}
# シャローコピーを行った後のディクショナリの中身を変更
dic_copy['a'][0] = 10
# シャローコピーを行った後のディクショナリ
print(dic_copy)
# {'a': [10, 2, 3], 'b': [4, 5, 6]}
# シャローコピーを行った前のディクショナリ
print(dic)
# {'a': [10, 2, 3], 'b': [4, 5, 6]}

上記のコードでは、まず、「dic」というディクショナリを定義します。次に、「dic.copy()」を用いて、「dic」のシャローコピーを行い、「dic_copy」という変数に格納します。その後、「dic_copy」の中身を変更し、最後に「dic」と「dic_copy」を出力します。その結果、「dic_copy」の中身が変更されているのは確認できますが、「dic」の中身も変更されていることがわかります。これは、「dic」と「dic_copy」が同じオブジェクトを参照しているためであり、「dict.copy()」機能がシャローコピーを行っていることを示しています。

タイトルとURLをコピーしました