Python String zu Int oder Kein

8

Lerne Python und bleibe stecken.

Ich versuche eine Variable auf int(stringToInt) zu setzen oder wenn die Zeichenfolge leer ist, setze sie auf None .

Ich habe versucht, variable = int(stringToInt) or None auszuführen, aber wenn die Zeichenfolge leer ist, wird ein Fehler angezeigt, anstatt sie nur auf None zu setzen.

Weißt du, wie das funktioniert?

    
user2686811 04.09.2013, 20:59
quelle

4 Antworten

27

Wenn Sie einen One-Liner wie Sie möchten, gehen Sie mit diesem:

%Vor%

Dies wird variable nur dann int(stringToInt) zuweisen, wenn es nicht leer UND "numerisch" ist. Wenn beispielsweise stringToInt 'mystring' ist, wird ein ValueError ausgelöst.

Um ValueError s zu vermeiden, verwenden Sie try-except:

, solange Sie keinen Generatorausdruck erstellen %Vor%     
That1Guy 04.09.2013, 21:01
quelle
8

Verwenden Sie die Tatsache, dass es eine Ausnahme erzeugt:

%Vor%

Dies hat den angenehmen Nebeneffekt, variable an None für andere häufige Fehler zu binden: stringToInt='ZZTop' , zum Beispiel.

    
Robᵩ 04.09.2013 21:00
quelle
5

Ich denke, das ist der klarste Weg:

%Vor%     
moliware 04.09.2013 21:12
quelle
1

Hier sind einige Optionen:

Fangen Sie die Ausnahme ab und behandeln Sie sie:

%Vor%

Es ist nicht wirklich so außergewöhnlich, dafür verantwortlich:

%Vor%     
Brian Cain 04.09.2013 21:02
quelle

Tags und Links