Seite 1 von 1

Problem bei array erstellung und Befüllung

Verfasst: Donnerstag 21. November 2019, 18:23
von RcReese
Hallo, ich bin noch relativ unerfahren mit Python und habe jetzt ein kleines Problem mit arrays.

Ich möchte ein array erstellen bei dem ich am Anfang nich nicht weiß wieviele Einträge es besitzen wird. Dann soll dieses array nach und nach durch eine if-Abfrage von anderen arrays befüllt werden. Ich habe es folgendermaßen versucht:

Code: Alles auswählen

a =[]
for j in range (0,42):
    if zone_percentage[j]!=0:
        a=zone_names[j]
Die if-Abfrage funktioniert auch soweit nur dass eben bei jedem durchlauf das a überschrieben wird und so nur ein Eintrag übrig bleibt anstatt dass ein Array entsteht.

Mein Ansatz war dann:

Code: Alles auswählen

a =[]
i=0
for j in range (0,42):
    if zone_percentage[j]!=0:
        a[i]=zone_names[j]
        i+1
Das führte allerdings nur zu einer Fehlermeldung, da die Schreibweise a wohl falsch ist.

Hoffe man versteht was ich meine.

Vielen Dank im Voraus.

Re: Problem bei array erstellung und Befüllung

Verfasst: Donnerstag 21. November 2019, 18:32
von Sirius3
Ich weiß nicht, von welcher Programmiersprache Du kommst, aber in Python arbeitet man anders. Man iteriert direkt über die Elemente einer Liste, statt über einen Index und man fängt mit einer leeren Liste an und hängt Elemente mit append an:

Code: Alles auswählen

a = []
for percentage in zone_percentage:
    if percentage:
        a.append(percentage)
Hier kann man auch eine sogenannte List-Comprehension einsetzen:

Code: Alles auswählen

a = [p for p in zone_percentage if p]

Re: Problem bei array erstellung und Befüllung

Verfasst: Donnerstag 21. November 2019, 18:37
von nezzcarth
RcReese hat geschrieben: Donnerstag 21. November 2019, 18:23 Hallo, ich bin noch relativ unerfahren mit Python und habe jetzt ein kleines Problem mit arrays.
Das Gezeigte wird in Python nicht als Array sondern als Liste bezeichnet. Das ist einmal wichtig, weil es in der Python Standardbibliothek auch 'arrays' gibt, die so heißen (die man aber vergleichsweise selten benötigt) und hier auch, weil dann vielleicht klarer wird, wie du vorgehen musst: An Listen kann man etwas anhängen, mit der gezeigten Methode "append". Du bindest stattdessen bei jeder Iteration einen einzelnen Wert an den Namen 'a'.