Seite 1 von 1

Dynamisch Variablen Erzeugen

Verfasst: Donnerstag 24. November 2005, 15:34
von Gast
Hi, gibt es eine möglichkeit, wie man dynamisch Variablen erzeugen kann, wie es z.b. in PHP geht...
in etwa so:

Code: Alles auswählen

for i in range(5):
variable+i = i

Verfasst: Donnerstag 24. November 2005, 16:04
von jens
Fies!
Dafür am besten ein dict nehmen:

Code: Alles auswählen

bla = {}
for i in xrange(5):
    bla["variable%s" % i] = i

print bla
Aber warum braucht man sowas???

Verfasst: Donnerstag 24. November 2005, 16:06
von Gast
ich würde gerne mehrere labels (tkinter) generieren, die ich aber alle einzeln mit config ansprechen kann

Verfasst: Donnerstag 24. November 2005, 16:08
von pr0stAta
Ich dachte das wäre einfacher :)
aber was besseres als

Code: Alles auswählen

liste = []
for i in range(10):
  liste.append("variable"+str(i))

fällt mir nicht ein
gruss
*edit* na gut, ohne aktualisieren merkt man auch nicht das
andere schneller waren :?

Verfasst: Donnerstag 24. November 2005, 19:15
von mitsuhiko

Code: Alles auswählen

for i in range(5):
    locals()['item-%i' % i] = i
aber von sowas rate ich ab!!!!

lieber ein dict nehmen

Verfasst: Donnerstag 24. November 2005, 23:37
von BlackJack
Da würde ich auch ganz dringend von abraten weil es nicht funktioniert, jedenfalls nicht in Funktionen/Methoden:

Code: Alles auswählen

In [5]: def test():
   .5.:   locals()['spam'] = 42
   .5.:   print spam
   .5.:

In [6]: test()
---------------------------------------------------------------
exceptions.NameError      Traceback (most recent call last)

/home/bj/<console>

/home/bj/<console> in test()

NameError: global name 'spam' is not defined