Automatisch erstellte Objektbezeichnungen

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.
Antworten
bogiflip
User
Beiträge: 2
Registriert: Mittwoch 10. November 2004, 10:15

Mittwoch 10. November 2004, 10:21

Hi. Ich bin recht neu in Python und stehe jetzt vor diesem Problem:

Ich benötige automatisch generierte Objektnamen beim erstellen eines Objekts. Ich möchte das dies in einer Methode/Schleife automatisch passiert und ich die Objekte nicht "manuell" deklarieren muss.
Als Beispiel:

Ich habe eine Class Node

Das erste erzeugte Objekt soll N1, das zweite N2 ... benannt werden.
Also benötige ich etwas wie:
Nx = Node()
x = x+1

Wie kann ich dies in Python realisieren?
Vielen Dank für jede Hilfe
bogiflip
murphy
User
Beiträge: 60
Registriert: Samstag 30. Oktober 2004, 01:34
Wohnort: Berlin
Kontaktdaten:

Mittwoch 10. November 2004, 10:24

mit einem array vielleicht?
kenne leider die syntax für "anhängen" nicht...aber das ist auf jeden fall die lösung für dein problem.
dynamische bezeichner brauchst du nicht.
bogiflip
User
Beiträge: 2
Registriert: Mittwoch 10. November 2004, 10:15

Mittwoch 10. November 2004, 10:56

Die Syntax für anhägnen ist nameOfList.append(object)

Ist aber leider nicht das was ich suche, da ich gerade auf Lists/Arrays verzichten möchte. Ich muss die Objekte nämlich über ihren Namen aufrufen können und nicht über ihre Position in der Liste.

Weitere Ideen? Das muss doch möglich sein...
Michael Euteneuer
User
Beiträge: 9
Registriert: Mittwoch 7. Januar 2004, 16:36

Mittwoch 10. November 2004, 11:33

Hi!
Warum ist es denn wichtig, dass Du die Objekte über Namen ansprichst? Ich sehe keinen Unterschied, ob Du das Element Nx als Objekt Nx oder als Objekt ListofNodes[x] ansprichst... Deswegen würde ich auch für eine Liste (oder ein dictionary) plädieren.

Gruß,
Michael
murphy
User
Beiträge: 60
Registriert: Samstag 30. Oktober 2004, 01:34
Wohnort: Berlin
Kontaktdaten:

Mittwoch 10. November 2004, 11:40

wohl nur über eval() oder ähnliches. wer sollte sowas brauchen?
Gast

Mittwoch 10. November 2004, 11:50

Vielen Dank schon jetzt!

Die Sache ist, dass ich versuche einen Suffixbaum zu konstruieren, der auf einer eigenen Liste basiert. Wenn die Elemente dieser konstruierten Liste wiederum in einer anderen Liste stecken finde ich das etwas "unglücklich", da es in dem theoretischen Modell auch nicht so vorgesehen ist.
Daher mein Gedanke keine (Python-)Listen zu verwenden.
Im Notfall werde ich es aber wohl so machen müssen.

Könnte mir das Argument "yield" irgendwie helfen?
Dookie
Python-Forum Veteran
Beiträge: 2010
Registriert: Freitag 11. Oktober 2002, 18:00
Wohnort: Salzburg
Kontaktdaten:

Mittwoch 10. November 2004, 13:37

Hi,

du könntest auch ein Dictionary verwenden und ja yield könnte dir helfen:
http://python.sandtner.org/viewtopic.php?t=1297


Gruß

Dookie
[code]#!/usr/bin/env python
import this[/code]
Antworten