辞書の要素を最適化するモンテカルロコードを書き込もうとしています。たとえば、元の辞書を次のように定義します
A = {}
A[1] = ['a','b','c']
A[2] = ['d','e','f']
これにより、
>>> A
{1: ['a', 'b', 'c'], 2: ['d', 'e', 'f']}
ここで、私のモンテカルロでの試行的な動きは、A[1]からランダムな要素'a'を取得し、それをA[2]に配置することであると言います。ただし、元の辞書は残しておきたい。そこで、最初に新しい辞書を作成します。
B = A
そして、BIで必要な変更を加えます
B[1].remove('a')
B[2].append('a')
その結果、取得したい辞書が変更されました。
>>> B
{1: ['b', 'c'], 2: ['d', 'e', 'f', 'a']}
ただし、これにより、バックアップしたかった元の辞書Aも変更されました。
>>> A
{1: ['b', 'c'], 2: ['d', 'e', 'f', 'a']}
これを行う方法はありますか?ご協力いただきありがとうございます!