Я пытаюсь написать код Монте-Карло, где я оптимизирую элементы в словаре.Например, я определяю свой исходный словарь как
A = {}
A[1] = ['a','b','c']
A[2] = ['d','e','f']
Это приводит к
>>> A
{1: ['a', 'b', 'c'], 2: ['d', 'e', 'f']}
Теперь скажем, что пробный ход в моем Монте-Карло состоит в том, чтобы взять случайный элемент 'a'A [1] и положить его в A [2].Тем не менее, я хочу сохранить свой оригинальный словарь.Поэтому я сначала создаю новый словарь:
B = A
А затем в BI вносим нужные изменения
B[1].remove('a')
B[2].append('a')
В результате получается модифицированный словарь, который я хотел получить:
>>> B
{1: ['b', 'c'], 2: ['d', 'e', 'f', 'a']}
Однако это также изменило мой первоначальный словарь А., который я действительно хотел сделать резервную копию.
>>> A
{1: ['b', 'c'], 2: ['d', 'e', 'f', 'a']}
Есть ли способ, которым я могу это сделать?Спасибо за вашу помощь!