Liste oder Array in einer Schleife initialisieren

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
Pittan
User
Beiträge: 34
Registriert: Freitag 1. August 2014, 15:56

Hallo,

ich habe häufig das Problem, dass ich eine Variable für eine Schleife benötige und diese direkt in der Schleife mit Werten befüllen möchte.
Konkret möchte ich z.B. im Moment ein Array oder eine Liste haben, in der ich matplotlib.pyplot.bar() hineinspeicher.
Prinzipiell ist das möglich indem man schreibt:

Code: Alles auswählen

y=plt.bar(0.4,1,0.5)
Das funktioniert auch mit numpyarrays.

Wenn ich aber nun diese ganzen plt.bars in einer Schleife erzeuge und möchte, dass diese in einer Variablen bzw. Array gespeichert werden, kriege ich ein Problem.
Was funktioniert, ist folgendes:

Code: Alles auswählen

for Value in range(10)):
                plt.bar(0.5, 10, 0.4)
Aber wie ist es möglich, die so erzeugten bars in einem Array zu speichern?

Danke
Gruß
Benutzeravatar
/me
User
Beiträge: 3555
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

Die Methode die von Anfängern gerne verwendet wird (bis sie die weiter unten beschriebene Methode kennen lernen):

Code: Alles auswählen

bars = []
for value in range(10):
    bars.append(plt.bar(0.5, 10, 0.4))
Übersichtlicher mit einer List comprehension.

Code: Alles auswählen

bars = [plt.bar(0.5, 10, 0.4) for value in range(10)]
Vermutlich möchtest du aber noch irgendetwas mit value machen und nicht zehnmal identische Dinge speichern.
Pittan
User
Beiträge: 34
Registriert: Freitag 1. August 2014, 15:56

Vielen Dank, das hat mir sehr weiter geholfen.

Gruß
Antworten