Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
0 / 0 / 0
Регистрация: 02.07.2025
Сообщений: 14

Deque и физическая память

19.05.2026, 09:47. Показов 1913. Ответов 27
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Коллеги, вопрос начинающего: в случае, когда идёт заполнение deque-очереди и если счетчик адреса натыкается на НЕпустую ячейку, перепрыгнет ли он в поисках свободного места или сразу выдаст ошибку переполнения памяти?
Вопрос вызван поиском возможности быстрой работы связного списка в условиях дефицита свободной памяти, а ряд "руководств" утверждает, будто deque-очередь (помимо моего ожидания) работает в условиях непрерывного заполнения.
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.05.2026, 09:47
Ответы с готовыми решениями:

сортировка deque
Здравствуйте, форумчане. Выполнял задание и вот стало ясно, что надо отсортировать деку(дали, как...

Пример с атрибутом класса и deque
смотрел на ютубе лекцию С.Лебедева (из CSC) по классам Python (ч.1). не понял вот этот пример....

Реализовать класс Deque
Добрый день! Возникла проблема с решением задачи, описание которой привожу ниже. Реализуйте...

27
0 / 0 / 0
Регистрация: 02.07.2025
Сообщений: 14
10.06.2026, 18:29  [ТС]
Студворк — интернет-сервис помощи студентам
Похоже, я опять невнятно сформулировал свою проблему. Проектом будет набор "кубиков", по количеству параметров задачи (пока просматривается порядка 30 параметров), размер каждого из которых (!) по "горизонтали" начнётся - на стадии отладки - со 100х100, а в рабочем режиме - не менее 10_000х10_000. В каждом такте работы столбики (состоящие из "этажей" одного формата) будут менять начинку, а по окончании такта - высоту. В процессе отладки выбирается характерный размер всех кубиков и их количество, которые - помимо формата "этажей" - останутся константами задачи. А каждый кубик (а не столбик) представляется единой параметризуемой структурой.
Осознаю, что всё сказанное - не столько "формулировка задачи", сколько протокол о намерениях. Поэтому я с благодарностью принимаю Ваши замечания и предлагаю дать мне возможность "созреть", покувыркавшись в конкретике.
До продолжения!
0
Эксперт Python
 Аватар для dondublon
4661 / 2080 / 367
Регистрация: 17.03.2012
Сообщений: 10,202
Записей в блоге: 6
10.06.2026, 19:22
ну, запостите формулировку, может что и решим. ИИ тоже грамотная формулировка нужна.
1
0 / 0 / 0
Регистрация: 02.07.2025
Сообщений: 14
19.06.2026, 14:35  [ТС]
dondublon, вопрос не конкретно по deque-методу, а - по ходу его использования.
Зазипованы два фрагмента стартового заполнения memmap-массива пустыми очередями (можно и - списками, не суть).
Первый фрагмент заполняется обходом массива по индексам, второй - поэлементным обходом.
В остальном - "близнецы-братья" (ц
Однако, если первый фрагмент - обнаруживает факт заполнения, то второй - None.
Не могли бы Вы объяснить разницу ?

фрагм 1.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import numpy as np
import os
import gc
from collections import deque
 
import time
 
N = 100
razmer = (6, N, N)
Nn = razmer[0] * razmer[1] * razmer[2]
 
 
file_path_mmap = 'model.dat'            # имя файла
mmap_array = np.memmap(file_path_mmap, dtype=object, mode='w+', shape=razmer)
 
k, i, j = 3, 50, 75
node_connections = mmap_array[k, i, j]
print(f"Исходное состояние узла [{k}, {i}, {j}]: {node_connections}")
 
dq = deque([])
 
for k in range(razmer[0]):
    for i in range(razmer[1]):
        for j in range(razmer[2]):
            mmap_array[k, i, j] = dq    #   !!!
 
#for x in np.ndenumerate(mmap_array):
#    x=dq
 
k, i, j = 3, 50, 75
node_connections = mmap_array[k, i, j]
print(f"Итоговое состояние узла [{k}, {i}, {j}]: {node_connections}")


фрагм 2.py
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import numpy as np
import os
import gc
from collections import deque
 
import time
 
N = 100
razmer = (6, N, N)
Nn = razmer[0] * razmer[1] * razmer[2]
 
 
file_path_mmap = 'model.dat'            # имя файла
mmap_array = np.memmap(file_path_mmap, dtype=object, mode='w+', shape=razmer)
 
k, i, j = 3, 50, 75
node_connections = mmap_array[k, i, j]
print(f"Исходное состояние узла [{k}, {i}, {j}]: {node_connections}")
 
dq = deque([])
 
#for k in range(razmer[0]):
#    for i in range(razmer[1]):
#        for j in range(razmer[2]):
#            mmap_array[k, i, j] = dq
 
for x in np.ndenumerate(mmap_array):
    x=dq                                #   !!!
 
k, i, j = 3, 50, 75
node_connections = mmap_array[k, i, j]
print(f"Итоговое состояние узла [{k}, {i}, {j}]: {node_connections}")
0
Эксперт Python
 Аватар для dondublon
4661 / 2080 / 367
Регистрация: 17.03.2012
Сообщений: 10,202
Записей в блоге: 6
19.06.2026, 15:07
Ой не, я пас. Это дебажить надо.
0
0 / 0 / 0
Регистрация: 02.07.2025
Сообщений: 14
24.06.2026, 13:07  [ТС]
Коллеги, же не ма шпа сис жур!
Создал скрипт, замысленный как:
- заполнение массива 6х5х5 пустыми очередями;
- хранение массива в виде файла (в корневой папке питон-проектов);
- заполнение первого - [0, 0, 0] - элемента массива строчкой "единичек"; и
- сохранение внесённых изменений.

Почему при этом изменения
- вносятся ВО ВСЕ элементы массива, и
- НИКАК не отображаются в соответствующем файле?

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import numpy as np
import os
import gc
from collections import deque
 
import time
 
N = 5
razmer = (6, N, N)
Nn = razmer[0] * razmer[1] * razmer[2]
 
 
file_path_mmap = 'model.dat'            # имя файла
mmap_array = np.memmap(file_path_mmap, dtype=object, mode='w+', shape=razmer)
 
 
dq = deque([])
 
for k in range(razmer[0]):
    for i in range(razmer[1]):
        for j in range(razmer[2]):
            mmap_array[k, i, j] = dq
 
 
k, i, j = 0, 0, 0
print(f"Cостояние узла [{k}, {i}, {j}]: {mmap_array[k, i, j]}")
 
mmap_array[k, i, j].append('11111111111111111111111111')
 
mmap_array.flush()
 
print(f"Cостояние узла [{k}, {i}, {j}]: {mmap_array[k, i, j]}")
 
print(mmap_array)
0
Эксперт Python
 Аватар для dondublon
4661 / 2080 / 367
Регистрация: 17.03.2012
Сообщений: 10,202
Записей в блоге: 6
24.06.2026, 13:18
Лучший ответ Сообщение было отмечено yarunichev как решение

Решение

у вас там один файл, зачем зиповать?
Python
1
2
3
4
5
6
dq = deque([])
 
for k in range(razmer[0]):
    for i in range(razmer[1]):
        for j in range(razmer[2]):
            mmap_array[k, i, j] = dq
ясен пень, у вас там везде один и тот же объект.
Вообще-то я вам говорил, не надо в numpy хранить питоновские объекты. Дело даже не в том, что тут этот баг вылез. Вообще не надо, он не для этого.
1
0 / 0 / 0
Регистрация: 02.07.2025
Сообщений: 14
24.06.2026, 14:09  [ТС]
dondublon, зиповал - потому что файлы ".py" не входят в перечень разрешённых типов

Что ж... "А пред нею - разбитое корыто." (не моё)
0
Эксперт Python
 Аватар для dondublon
4661 / 2080 / 367
Регистрация: 17.03.2012
Сообщений: 10,202
Записей в блоге: 6
24.06.2026, 15:30
Цитата Сообщение от yarunichev Посмотреть сообщение
dondublon, зиповал - потому что файлы ".py" не входят в перечень разрешённых типов
Обычно прямо в тексте поста пишут код.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.06.2026, 15:30

Физический движок с вращением
Здравствуйте. К сожалению, большинство туториалов содержит движки без вращения, а там где оно...

Физически не удаляется изображение, связанное с моделью
Всем привет! -Есть две модели: Good и GoodImage. -GoodImage ссылается на Good посредством...

Биоритмы. Вывести значение биоритмов физического, эмоционального, интеллектуального, округленные до сотых
Существует предположение о существовании трех биологических ритмов человека: физического,...

Физические термины
Вы хотите помочь своим друзьям научиться разбираться в физических понятиях и не путать физические...

Физическое моделирование и python
При написании программы выдаёт ошибку. Ниже приведён текст программы: #Заряд в поле k=9e9 s=0.08...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Новые блоги и статьи
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу))) Критические ошибки, мешающие компиляции и. . .
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата) Этот документ предназначен для того, чтобы новый чат Claude мог продолжить работу без необходимости заново разбираться в. . .
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса Калибровка параметров симбиотической модели: технический обзор Содержание: Введение Постановка проблемы Технические аспекты реализации Процесс внедрения изменений
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0» https:/ / ibb. co/ NnkGpfMd Представленная интегрированная схема описывает непрерывную нелинейную. . .
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы ### Аннотация Представлено исследование по разработке агентной модели микоризной. . .
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики Контекст Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
Сукцессия 11. Проверка орудий перед войной: разработка через тестирование
anaschu 27.06.2026
Как не дать модели соврать самой себе: проверки для симуляции микоризной сукцессии Введение Когда вы строите математическую модель живой системы — грибов, растений, почвы — главная опасность. . .
10 сукцессия. Питон код войны грибов и растений
anaschu 27.06.2026
import numpy as np class PlantAgent: def __init__(self, name, strategy, initial_biomass): self. name = name self. strategy = strategy # "greedy" (широколиственные) или. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru