Unterscheiden zwischen leerer und befüllter Liste

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Eneri_Gnats
User
Beiträge: 20
Registriert: Freitag 14. Februar 2020, 11:17

Hallo Zusammen,

ich möchte prüfen, ob in einer Liste Werte stehen oder nicht. Also in einer If-Abfrage soll geprüft werden, ob in der Liste ein Wert steht:

Code: Alles auswählen

if not line_not_reinforce:
Wenn die Liste leer ist, soll der Code X ausgeführt werden. Wenn ein Wert oder mehr in der Liste soll der Code Y ausgeführt werden.

Solange nur ein Wert in der Liste ist funktioniert mein Code gut aber sobald mehr als ein Wert in der Liste steht tritt ein Fehler auf:
"The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()"

hab versucht das Problem mit any oder all zu lösen aber ich denke, dass ich damit nicht auf eine Lösung komme.

Code: Alles auswählen

if not line_not_reinforce: 
        
        #Funktion X wenn liste leer
        
  
    else:
        # Funktion Y wenn liste 1 oder mehr Werte
        
  
Ich hoffe es kann mir hier jemand Helfen :) so wie schon so oft.

Viele Grüße
__deets__
User
Beiträge: 14545
Registriert: Mittwoch 14. Oktober 2015, 14:29

Code: Alles auswählen

if needle in haystack:
    print("found a needle")
else:
    print("no needle or no haystack")
Sirius3
User
Beiträge: 18218
Registriert: Sonntag 21. Oktober 2012, 17:20

Du hast keine Liste sondern ein numpy-Array. Mit numpy.size bekommst Du die Anzahl der Elemente.
Antworten