Liste mit Variablen füllen

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
Benutzeravatar
Kurtosis
User
Beiträge: 55
Registriert: Samstag 11. Dezember 2010, 14:32

Hallo,

ich möchte eine Liste mit Variablen füllen. Leider gelingt mir dies nicht so recht. Wie kann ich dies mittels einer for-Schleife erzeugen? Das Problem ist derzeit, dass ich nicht so recht weiß, wie ich

Code: Alles auswählen

append
füttern soll, damit es in der eingangs leeren Liste nicht Zahlen, sondern Variablen hinzufügt. Der Zähler i soll einen bestimmten Zahlenbereich ablaufen. Die Liste hätte ich dann z.B. gefüllt mit sowas wie A1, A2, A3 oder A[1], A[2], A[3]. Vielleicht kann mir jemand weiterhelfen! :)
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Nun, du verwendest statt den zahlen eben Variablen ;)

Code: Alles auswählen

In [1]: a, b, c = 1, 2, 3

In [2]: l = list()

In [3]: l.append(a)

In [4]: l.append(b)

In [5]: l.append(c)

In [6]: l
Out[6]: [1, 2, 3]

In [7]: l = list()

In [8]: for i in range(23, 42+1):
   ...:     l.append(i)
   ...:    

In [9]: l
Out[9]: [23, 24,  25,  26,  27,  28,  29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42]
Benutzeravatar
sparrow
User
Beiträge: 4193
Registriert: Freitag 17. April 2009, 10:28

Aber du möchtest nicht durchnummerierte Variablen verwenden.
Wenn, dann verwende bitte eine Liste.
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Es klingt irgendwie so, als wären bei dir schon die Ausgangsbedingungen falsch. Wenn du Variablennamen wie A1, A2, A3 usw. hast, dann sollte das von Anfang an eine Liste oder ein Dictionary sein.

Falls du als Ausgangsdaten schon eine Liste hast, dann kannst du normales Slicing anwenden.

Code: Alles auswählen

>>> values = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H']
>>> result = values[2:5]
>>> print(result)
['C', 'D', 'E']
Das ist handlicher und schneller als eine entsprechende for-Schleife.

Code: Alles auswählen

>>> result = []
>>> for index in range(2, 5):
	result.append(values[index])
Antworten