Wie erstell man in Python Variablen mit dynamischen variablennamen?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Der einfachste Ansatz wäre den Namen der Variable als Schlüssel mit dem gewünschten Wert in einem Dictionary zu speichern.

Einfaches Beispiel:

dic = {}
for i in range(10):
dic["number_" + str(i)] = i
print("Die Variable number_{} hat den Wert {}".format(i, dic["number_" + str(i)]))

Output:

Die Variable number_0 hat den Wert 0
Die Variable number_1 hat den Wert 1
Die Variable number_2 hat den Wert 2
Die Variable number_3 hat den Wert 3
Die Variable number_4 hat den Wert 4
Die Variable number_5 hat den Wert 5
Die Variable number_6 hat den Wert 6
Die Variable number_7 hat den Wert 7
Die Variable number_8 hat den Wert 8
Die Variable number_9 hat den Wert 9

LG


AlphaJet 
Fragesteller
 02.12.2016, 14:27

Danke das ist perfekt. :D

0

Mit normalen Variablen wirst du das nicht hinkriegen. Das Programm kann seinen Code ja nicht selbst verändern. Zum Glück gibt es etwas namens "Listen" da kannst du ohne einen Namen zuzuweisen soviel du willst reinpacken.

numbers = []
for i in range(2):
    numbers.append(i)

Zur Ausgabe machst du das:

for i in range(len(numbers)-1):
    print(numbers[i])

Habe es nicht getestet, das mit dem Range in der for Schleife bei der Ausgabe lässt sich noch optimieren, habe das aber grade nicht zur Hand.


AlphaJet 
Fragesteller
 11.12.2016, 17:00

Danke, aber so unerfahren bin ich auch wieder nicht. Ich weiß was eine liste ist.

0

Hallo! Vergiss diesen Ansatz. Es geht zwar scheinbar in jeder Prog.sprache --- aber in der Praxis nicht. (PHP habe ich noch nicht ausprobiert)

Du musst die Namen vorher deklarieren.


Und in deiner Ausgabe verwendest du deine " neuen" Variablen auch gar nicht