Liste durch for loop

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Romaxx
User
Beiträge: 62
Registriert: Donnerstag 26. Januar 2017, 18:53

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.
BlackJack

@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.
Romaxx
User
Beiträge: 62
Registriert: Donnerstag 26. Januar 2017, 18:53

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
Benutzeravatar
pixewakb
User
Beiträge: 1412
Registriert: Sonntag 24. April 2011, 19:43

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
"""
Romaxx
User
Beiträge: 62
Registriert: Donnerstag 26. Januar 2017, 18:53

Hallo pixewakb,

genau das suchte ich!

Danke
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

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!"
Romaxx
User
Beiträge: 62
Registriert: Donnerstag 26. Januar 2017, 18:53

Da hast du recht.
Benutzeravatar
bwbg
User
Beiträge: 407
Registriert: Mittwoch 23. Januar 2008, 13:35

Die entscheidende Frage ist aber, warum du das (so) machen willst. Was ist das übergeordnete Ziel?
"Du bist der Messias! Und ich muss es wissen, denn ich bin schon einigen gefolgt!"
Romaxx
User
Beiträge: 62
Registriert: Donnerstag 26. Januar 2017, 18:53

Die Elemente der Liste anhand der Reihenfolge der Iteration zu identifizieren.
Antworten