У меня есть словарь, содержащий переменное количество числовых массивов (одинаковой длины), каждый массив хранится в соответствующем ключе.
Для каждого индекса я хочу заменить значение в одном из массивов на новое вычисленное значение.(Это очень простая версия, которую я на самом деле делаю.)
Проблема в том, что когда я пытаюсь сделать это, как показано ниже, значение в текущем индексе каждого массива в словаре заменяется, а не простотот, который я указываю.
Извините, если форматирование примера кода сбивает с толку, это мой первый вопрос здесь (не совсем понимаю, как правильно показать строку example_dict["key1"][idx] = idx+10
с отступом в следующей строке дляцикл ...).
>>> import numpy as np
>>> example_dict = dict.fromkeys(["key1", "key2"], np.array(range(10)))
>>> example_dict["key1"]
массив ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> example_dict["key2"]
массив ([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> for idx in range(10):
example_dict["key1"][idx] = idx+10
>>> example_dict["key1"]
массив ([10, 11, 12, 13, 14, 15, 16, 17, 18, 19])
>>> example_dict["key2"]
массив ([10, 11, 12, 13, 14, 15,16, 17, 18, 19])
Я ожидал, что цикл получит доступ только к массиву в example_dict["key1"]
, но почему-то такая же операция применяется и к массиву, хранящемуся в example_dict["key2"]
.