numpy -first in last out

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Yogi
User
Beiträge: 80
Registriert: Montag 21. Januar 2008, 16:35
Wohnort: Bonner

numpy -first in last out

Beitragvon Yogi » Freitag 21. November 2008, 12:54

Hi, ich bräuchte mal eine Auskunft.

Ich bräuchte für eine bestimmte Anzahl an 3D-Koordinaten, die ich in einem Numpy-Array ablegen möchte eine Möglichkeit eines First In, Last out.
Ziel ist es die die maximale Anzahl an Koordinaten zu begrenzen, die fortwährend einströmen. Wenn der 'Puffer' voll ist, sollen die ältesten rausfallen, während die neuen eintrudeln. Oder geht das nur über slicen? Vor allem sollte es schnell sein.

Danke!
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Freitag 21. November 2008, 14:50

`deque` aus dem als "High-performance container datatypes" beschriebenen `collections`-Modul macht meines Wissens ziemlich genau das, was du suchst.
Yogi
User
Beiträge: 80
Registriert: Montag 21. Januar 2008, 16:35
Wohnort: Bonner

Beitragvon Yogi » Freitag 21. November 2008, 23:53

Supi!

Ich habe deque mit dreidimensionalen Numpy-Arrays ausprobiert und es klappt hervorragend.

Ich habe durch deine Hilfe sogar diesen 'ring-buffer' in der Anwendung finden können, bei Python Cooking Book

Danke!
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Montag 24. November 2008, 11:23

Sehr schön.

Das Beispiel mit der `deque`-Subklasse ist interessant, danke für den Link. Ich bin allerdings gerade zu faul um aufzustehen und nachzusehen, ob das auch in meiner Ausgabe vom Python Cookbook enthalten ist ;)
burli
User
Beiträge: 1116
Registriert: Dienstag 9. März 2004, 18:22

Re: numpy -first in last out

Beitragvon burli » Montag 24. November 2008, 11:45

Yogi hat geschrieben:First In, Last out.!

Eigentlich sagt man doch Last In, First out oder kurz LIFO. Auch bekannt als Stack.
BlackJack

Beitragvon BlackJack » Montag 24. November 2008, 12:29

@burli: Wenn man eine Queue haben möchte, macht es wenig Sinn einen Stack zu verwenden.
burli
User
Beiträge: 1116
Registriert: Dienstag 9. März 2004, 18:22

Beitragvon burli » Montag 24. November 2008, 12:56

BlackJack hat geschrieben:@burli: Wenn man eine Queue haben möchte, macht es wenig Sinn einen Stack zu verwenden.


Das ist richtig. Ein Queue ist kein Stack. Aber ein Queue ist auch nicht LIFO sondern FIFO, also First In, First Out. Yogi hat aber nach LIFO gefragt, wenn auch verdreht
Yogi
User
Beiträge: 80
Registriert: Montag 21. Januar 2008, 16:35
Wohnort: Bonner

Beitragvon Yogi » Montag 24. November 2008, 13:14

...gut, dass ich trotzdem verstanden worden bin :oops: :wink:

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder