Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailem Python - uložení atributů více objektů do jednoho pole

Ahoj

začínám s pythonem a nevím si rady (umím jen php ale tenhle problém jsem ještě neřešil)

mám cca 100 (časem možná více) objektů jedné třídy, mají několik atributů některé se nastavují přímo jiné se počítají pomocí metod
v co nejvíce iteracích za sekundu potřebuji aby jejich atributy byly uloženy do numpy contiguous pole, se kterým pak pracuje jiný program v C, od objektů neočekávám nic jiného než get/set atributů nebo metodu která z atributů vypočítá jiný

počet objektů je proměnný, jsou v průběhu přidávány a odebírány, proto je potřeba poté vždy znovu vytvořit nové contiguous pole (což jinak nepůjde a myslím že to není takový problém = toto se děje tak jednou za 30s)

problém ale je když se u některého objektu změní atribut (což je každou iteraci), teď to mám tak že se vždy po provedení změn u všech objektů vytvoří nové numpy contiguous pole a pak se do něj kopírují data z objektů

je v pythonu (3) nějaká konstrukce jak by to šlo vyřešit lépe?
napadá mě něco jako že bych měl objekty uloženy v nějakém poolu, volal bych pak pool.2321455.x (u objektu 2321455 nastav x) což by zachytila nějaká magická metoda něco jako __call u php, místo nastavení atributu objektu by změnila správný údaj v numpy poli => aby se nemuselo pořád dělat celé znovu

za jakékoliv připomínky budu rád, předem díky ;)

Předmět Autor Datum
chtěl bych tedy nějak nastavovat atributy objektů jako obvykle ale na konci je mít všechny v jednom… poslední
deepspace9 18.02.2015 13:02
deepspace9

Zpět do poradny Odpovědět na původní otázku Nahoru