python: hatékony adatkezelés
A feladat nem túl bonyolult, de nem tudom, hogy lenne a leghatékonyabb:
Van sok (pár száz ezer lehet) objektumom, amiket el akarok tárolni a memóriában.
Menet közben van, hogy egyet-egyet ki akarok törölni. Újat akarok hozzáadni persze, jó a végére (mindegy, hova).
Akarok olyasmit, hogy egy ciklus végig tudjon menni az összesen.
Akarok olyasmit, hogy az objektum egy kiválasztott attribútuma alapján rendezve tudjak végigmenni rajtuk.
Akarok szűrni egy adott attribútumra.
C++-ban kb. tudom, hogy állnék neki. Az objektumokat felfűzném egy kétirányú láncolt listára, azon jól végig lehet menni egy iterátorral, és lehet belőle törölni.
A rendezéseket, szűréseket egy másik index tárolóval csinálnám, gondolom vector-ral. Szépen pointereket tárolnék el benne ugye az adott objektumra.
Nade hogy csinálom meg ugyanezt python-ban?
Legyen list, és az pop( i ) az elem törlése?
Az index egy másik lista, ami a sorszámokat tárolja?
Hogy határozom meg egy objektum értékét? Úgy értem, pl. melyik beépített python függvénnyel tudom kiíratni, illetve van-e olyan speciális tagfüggvény, ami az objektum értékét adja vissza az ilyen ellenőrzések számára?
Tudok esetleg valahogy olyasmit írni, hogy mylist.index( 'foo'), és az objektumom valamelyik tagfüggvénye adja vissza a stringet?
A sort minek alapján rendez? Az objektum értéke alapján?
Tudok olyan függvényt készíteni, ami az objektum egy másik értékét adja vissza?
Tehát mondjuk foo szerint rendezek sorba, de bar szerint szűrök.
G
- Tovább (python: hatékony adatkezelés)
- 1394 megtekintés