Wie erstell man in Python Variablen mit dynamischen variablennamen?
Wie erstellt man in Python Variablen, in deren Namen der Inhalt einer Variable enthalten ist?
Ich setlle mir das etwa so vor :
for i in range(2):
number_(i) = i
print("Die Variable number_" + i + "hat den Wert " + i)
Der Output sähe dann so aus:
Die Variable number_0 hat den Wert 0
Die Variable number_1 hat den Wert 1
Die Variable number_2 hat den Wert 2
3 Antworten
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
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.
Danke, aber so unerfahren bin ich auch wieder nicht. Ich weiß was eine liste ist.
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
Wie deklarieren ?