irgendwie steh ich komplett auf der leitung.
also ich möchte mehrere variablen dynamisch erstellen
werte1,werte2,werte3,...
z.B. mit einer for-schleife.
ist dies überhaupt möglich oder bin ich jetzt ganz blöd

hoffe mir kann jemand helfen.
danke
Code: Alles auswählen
In [1]: for i in xrange(10):
...: locals()['foo_%d' % i] = i
...:
...:
In [2]: foo_2
Out[2]: 2
In [3]: foo_5
Out[3]: 5
Grrr, bring Leuten gar nicht erst sowas bei... Natürlich geht alles, aber wenn man sowas in Produktivcode macht...audax hat geschrieben:Das geht allesCode: Alles auswählen
In [1]: for i in xrange(10): ...: locals()['foo_%d' % i] = i ...: ...: In [2]: foo_2 Out[2]: 2 In [3]: foo_5 Out[3]: 5
Mir würden da eigentlich nur obskure DSLs einfallen, aber da wäre man in Python sowieso mit externen DSLs die auf spezielle Dictionaries zugreifen besser dran.BlackVivi hat geschrieben:Das da oben ist wirklich eher für... wenige Einsatzzwecke gedacht.
Und die Dokumentation sagt zu `locals()` eigentlich:BlackVivi hat geschrieben:Grrr, bring Leuten gar nicht erst sowas bei... Natürlich geht alles, aber wenn man sowas in Produktivcode macht...audax hat geschrieben:Das geht allesCode: Alles auswählen
In [1]: for i in xrange(10): ...: locals()['foo_%d' % i] = i ...: ...: In [2]: foo_2 Out[2]: 2 In [3]: foo_5 Out[3]: 5
Warning: The contents of this dictionary should not be modified; changes may not affect the values of local variables used by the interpreter.
Nichts was sich nicht umgehen liesse.Trundle hat geschrieben:Und die Dokumentation sagt zu `locals()` eigentlich:Warning: The contents of this dictionary should not be modified; changes may not affect the values of local variables used by the interpreter.
Code: Alles auswählen
In [34]: for i in xrange(10):
setattr(__builtins__, 'foo_%d' % i, i)
....:
....:
In [36]: foo_2
Out[36]: 2
In [37]: foo_5
Out[37]: 5