mam listę w PythonieJak sprawdzić, czy n-ty element istnieje na liście Pythona?
x = ['a','b','c']
z 3 elementów. Chcę sprawdzić, czy czwarty element istnieje bez otrzymania komunikatu o błędzie.
Jak to zrobić?
mam listę w PythonieJak sprawdzić, czy n-ty element istnieje na liście Pythona?
x = ['a','b','c']
z 3 elementów. Chcę sprawdzić, czy czwarty element istnieje bez otrzymania komunikatu o błędzie.
Jak to zrobić?
sprawdzić na długość:
len(x) >= 4
lub złapać IndexError
wyjątek:
try:
value = x[3]
except IndexError:
value = None # no 4th index
Co użyć zależy od tego jak często można oczekiwać tam być 4th wartość. Jeśli zwykle tam jest, skorzystaj z obsługi wyjątków (lepiej prosić o przebaczenie); jeśli w większości jesteś , nie próbuj mieć czwartej wartości, przetestuj dla długości (wygląd, zanim przeskoczysz).
Chcesz sprawdzić, czy lista zawiera 4 lub więcej elementów?
len(x) >= 4
Chcesz sprawdzić, czy to, co będzie czwartym elementem w serii, znajduje się na liście?
'd' in x
Dobrze, pokazałeś nowemu użytkownikowi zarówno wzorce LBYL, jak i EAFP. (@A_B, google one) – forivall
To jest w porządku, jeśli liczba twoich testów jest znaną stałą wartością, ale jeśli jest to zmienna całkowita, możesz nie chcieć akceptować ujemnych wartości jako poprawnych, chociaż z powodzeniem będą indeksowane do listy. –
@SimonHibbs lub normalizuj najpierw wartość (dodaj 'len (x)' do negatywnych indeksów, więc 'normalized = len (x) + idx if idx <0 else idx'), następnie sprawdź, czy' 0 <= znormalizowane