Seite 1 von 1
Wahrheitswerte in Python
Verfasst: Dienstag 6. Februar 2007, 20:27
von PmanX
Habe ich oder Python Probleme mit Wahrheitswerten ?
>>> x1
[]
Hier funktioniert ein nachgestellte
if und
Space ist True.
Hier nicht.
Re: Wahrheitswerte in Python
Verfasst: Dienstag 6. Februar 2007, 20:34
von sunmountain
Ich glaube nicht dass das ein gültiger Konstrukt ist.
Meinst Du sowas
?
Re: Wahrheitswerte in Python
Verfasst: Dienstag 6. Februar 2007, 20:40
von Leonidas
PmanX hat geschrieben:Habe ich oder Python Probleme mit Wahrheitswerten ?
>>> x1
[]
Ich denk eher du hast ein Verständnisproblem. Die LC iteriert über den Rückgabewert von ``raw_input()``, und da dort nichts eingegeben wird, kommt keine einzige Iteration zu stande, daher wird kein einziges Objekt in die Liste eingefügt.
Re: Wahrheitswerte in Python
Verfasst: Dienstag 6. Februar 2007, 21:29
von PmanX
Ich denk eher du hast ein Verständnisproblem. Die LC iteriert über den Rückgabewert von ``raw_input()``, und da dort nichts eingegeben wird, kommt keine einzige Iteration zu stande, daher wird kein einziges Objekt in die Liste eingefügt.
Sorry , habe die Eingabezeile unterschlagen.
Code: Alles auswählen
>>> x1 = [x for x in raw_input('Eingabe: ') if not x]
Eingabe: ewfekv,dcc23244fsdfcsa, dvcdvd
>>> x1
[]
Allerdings unterlag ich einem Irrtum. Ein Leerzeichen ist kein Leerstring. Damit passt dieses Beispiel nicht.
sunmountain: Eben. Das ist mein Problem. Bei List Comprehensions ist es gültig, so aber nicht.
Re: Wahrheitswerte in Python
Verfasst: Dienstag 6. Februar 2007, 21:57
von birkenfeld
PmanX hat geschrieben:
sunmountain: Eben. Das ist mein Problem. Bei List Comprehensions ist es gültig, so aber nicht.
Das ist kein Problem. Die if-Teilausdrücke sind Bestandteile der Syntax für List Comprehensions und kein generelles Syntaxelement.
Die "x if y else z"-Ausdrücke sind dagegen ab Python 2.5 überall möglich, haben aber eine andere Semantik als die if-Ausdrücke in LCs.