Hallo zusammen,
wie kann ich in Python eine for loop benutzen, um eine Liste zu erstellen, die aus Variablen der for loop besteht.
Im Detail möchte ich folgendes machen:
[codebox=python file=Unbenannt.txt]Variable_0 = irgend eine Berechnung für 0 Schritt
Liste_Variablen_0 = {'Variable_0': Variable_0}
for i in range(0,L):
Variable_i = irgend eine Berechnung in Abhängigkeit von i
Liste_Variablen_i.extend({'Variable_i': Variable_i})[/code]
Mir ist dabei wichtig, dass die Bezeichnung der Variablen in der Liste sich an der Iteration der for loop orientiert, d.h. ich möchte nachher so etwas wie
Liste_Variablen_i besteht aus Variable_0 bis Variablen_L.
Und dann wäre mir noch wichtig, wie ich nachher wieder durch eine for loop auf die Elemente in der Liste so zugreifen kann, dass ich für den Iterationsschritt wieder auf die Variable_i zugreifen kann.
Danke für die Hilfe.
Liste durch for loop
@Romaxx: Die Beschreibung ist verwirrend. Du sagst Liste, nennst es im Programm Liste, hast aber in Wirklichkeit ein Wörterbuch auf dem Du dann versuchst eine Methode aufzurufen die es auf Wörterbüchern gar nicht gibt. Ausserdem bringst Du ”Variablen” und Werte durcheinander. Und ich habe den Verdacht Du möchtest eigentlich einfach nur eine Liste ohne die Namen. Wenn man dynamische, nummerierte Variablennamen haben möchte, dann will man in der Regel das mit den Namen vergessen und ganz einfach eine Liste verwenden.
Hallo Blackjack,
ich versuche es noch einmal.
Ich werde am besten in matlab-code das ganze mal aufschreiben.
Dort weiß ich, wie ich es umsetzen würde.
Ich gehe jetzt einfach davon aus, dass du es entziffern kannst, wenn nicht, werde ich wohl noch einmal einen Versuch starten müssen.
[codebox=matlab file=Unbenannt.m]for i = 1:L
Liste_Variablen_i.(sprintf('Variable_%d', i)) = irgend eine Berechnung in Abhängigkeit von i;
end[/code]
Grüße und Danke
ich versuche es noch einmal.
Ich werde am besten in matlab-code das ganze mal aufschreiben.
Dort weiß ich, wie ich es umsetzen würde.
Ich gehe jetzt einfach davon aus, dass du es entziffern kannst, wenn nicht, werde ich wohl noch einmal einen Versuch starten müssen.
[codebox=matlab file=Unbenannt.m]for i = 1:L
Liste_Variablen_i.(sprintf('Variable_%d', i)) = irgend eine Berechnung in Abhängigkeit von i;
end[/code]
Grüße und Danke
Hilft Dir das?
Code: Alles auswählen
# Quadrieren
liste = []
for i in range(11):
liste.append(i * i)
print(liste)
# Konsole: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
print(liste[3])
# Konsole: 9
wb = {} # ein dictionary
for i in range(11):
wb[i] = i * i
print(wb)
# Konsole: {0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25, 6: 36, 7: 49, 8: 64, 9: 81, 10: 100}
# Achtung: Reihenfolge im dict ist nicht geordnet!
print(wb[3])
# Konsole: 9
variablen = list(wb.keys())
variablen.sort()
for variable in variablen:
print(variable, wb[variable])
""" Konsole:
0 0
1 1
2 4
3 9
4 16
5 25
6 36
7 49
8 64
9 81
10 100
"""
Wobei mir die Sache mit dem Wörterbuch eher unsinnig erscheint. Die Schlüssel sind ja die Kardinalitäten. Diese hast Du bei einer "normalen" Liste ebenfalls.
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"