Я новичок в программировании. У меня в настоящее время есть массив с 1000+ элементами, я хочу получить доступ только к 10 из этих элементов за один раз и выполнить некоторые операции с этими элементами, а затем ввести следующий элемент в массиве в очередь и так далее. Один из способов, которым я мог подумать, - передать все элементы массива в очередь и добавить один элемент очереди и добавить его в новую очередь с максимальным размером 10.Анализ элементов массива в очереди с фиксированным размером Python
Но я сомневаюсь, что это правильный способ сделать Это. Любые выводы о том, как я должен подходить к этой проблеме? Код, который я написал до сих пор, создает очередь и принимает все элементы из массива. Я не уверен, что я должен делать дальше.
import numpy as np
class Queue :
def __init__(self):
self.items=[]
def isEmpty(self) :
return self.items==[]
def enqueue(self, item):
self.items.insert(0,item)
def dequeue(self):
self.items.pop()
def size(self):
return len(self.items)
def printqueue(self):
for items in self.items:
print(items)
q= Queue()
a=np.linspace(0,1,1000)
for i in np.nditer(a):
q.enqueue(i)
Я знаю, что это глупо для экспертов, но просто хотел знать, как я могу это сделать самостоятельно. Редактировать: Это был не дублированный вопрос о blkproc. поскольку я пришел из фона C++, используя очередь, был на мой взгляд, но использование среза отлично работало.
Возможный дубликат [Как я могу эффективно обрабатывать Numpy массив в блоках, похожий на blkproc от Matlab функции (blockproc)] (http://stackoverflow.com/questions/5073767/how -can-i-efficiently-process-a-numpy-array-in-blocks-like-to-matlabs-blkpro) – Torxed
Или, может быть, это: http://stackoverflow.com/questions/19712919/combining-numpy-arrays- in-blockwise-form – Torxed