Python Variablen durchnummerieren und abrufen?
ich möchte sehr viele Variablen machen, und mit allen in einer Schleife das Gleiche machen. Wie kann ich z.B. "Wert0 = [(0, 1, 2),(3, 4, 5)]", "Wert1 = [(3, 4, 5),(6, 7, 8)]", ... machen und dann in der Schleife "for x, y, z in (Wert0)" dann "in (Wert1)", ...
Hoffe, dass mein Problem verständlich ist
3 Antworten
Nimm ein Array. Nicht einzelne Variablen.
Du kannst Listen, Tupel oder Dictionaries verschachteln so wie du es ohnehin schon machst. Bau einfach eine Ebene darüber in der die einzelnen Listen stecken:
werte = [
[ (0, 1, 2), (3, 4, 5) ],
[ (3, 4, 5), (6, 7, 8) ]
]
for teil in werte:
for x, y, z in teil:
print("{} {} {}".format(x, y, z))
Mit einem Dictionary kannst du die Listen auch selbst benennen:
werte = {
"Wert1" : [ (0, 1, 2), (3, 4, 5) ],
"Wert2" : [ (3, 4, 5), (6, 7, 8) ]
}
for name, liste in werte.items():
for x, y, z in liste:
print("{} {} {}".format(x, y, z))
PS.: Variablen sollte man besser klein schreiben. Was mit einem Großbuchstaben beginnt sind normalerweise Klassen.
PPS.: Nichtssagende Namen wie zB werte oder x, y, und z (sofern es keine Koordinaten sind) machen Code weniger gut lesbar bzw. schwerer zu verstehen. Daher sollte man aussagekräftige Namen verwenden:
if a > 11: #was war nochmal a?!
if alter > 11: #selbsterklärend!
Gute Editoren nehmen wir ohnehin sehr viel Tipparbeit ab also muss man keine superkurzen Variablennamen verwenden.
Erstell doch einfach eine Liste und füge jede deiner erstellten Variablen dieser Liste hinzu