Эффективно инициализировать декPython

Программы на Python
Anonymous
Эффективно инициализировать дек

Сообщение Anonymous »


Я использую deque для хранения данных, которые будут обработаны. Обработка начинается только тогда, когда дек заполнен, поэтому на первом этапе я заполняю свой буфер следующим образом:

из очереди импорта коллекций импортировать numpy как np my_deque = deque (maxlen = 10) тусклый = (20, 20) my_deque.extend([np.ones(dims)] * 10) Однако, когда я делаю это и изменяю один из элементов my_deque, все элементы my_deque изменяются.

Одной альтернативой, позволяющей избежать этой проблемы, является инициализация моего deque следующим образом

для i в диапазоне (10): my_deque.append(np.ones(dims)) Есть ли более элегантный способ добиться этого?

Изменить. Одним из примеров изменений, создающих проблему, является следующее

my_deque[7][2, :] = 0 После этой строки кода третья строка каждого элемента my_deque представляет собой строку нулей, а не только строку с индексом 7

Вернуться в «Python»