2013-03-21 8 views

Antwort

20

Sie für die Länge überprüfen:

len(x) >= 4 

oder Sie fangen die IndexError Ausnahme:

try: 
    value = x[3] 
except IndexError: 
    value = None # no 4th index 

Was Sie hängt davon ab, verwenden, wie oft kann man erwarten es einen vierten Wert zu sein. Wenn es normalerweise dort ist, benutze den Ausnahmebehandler (besser, um Vergebung zu bitten); Wenn Sie meist nicht einen 4. Wert haben, testen Sie für die Länge (suchen Sie vor dem Sprung).

+4

Schön, Sie zeigten einem neuen Benutzer sowohl die LBYL und EAFP-Muster. (@A_B, google sie) – forivall

+0

Das ist in Ordnung, wenn die Nummer, die Sie testen, ein bekannter fester Wert ist, aber wenn es sich um eine Integer-Variable handelt, möchten Sie möglicherweise keine negativen Werte als gültig akzeptieren, obwohl sie erfolgreich in die Liste indizieren. –

+0

@SimonHibbs oder normalisieren Sie zuerst den Wert (fügen Sie 'len (x)' zu negativen Indizes hinzu, also 'normalized = len (x) + idx wenn idx <0 else idx'), dann prüfen Sie, ob' 0 <= normalisiert

3

Sie möchten überprüfen, ob die Liste 4 oder mehr Elemente lang ist?

len(x) >= 4 

Sie möchten überprüfen, ob was wäre das vierte Element in einer Reihe ist in einer Liste?

'd' in x 
Verwandte Themen