Dlaczego lista nie ma bezpiecznej metody „get”, takiej jak słownik?
>>> d = {'a':'b'}
>>> d['a']
'b'
>>> d['c']
KeyError: 'c'
>>> d.get('c', 'fail')
'fail'
>>> l = [1]
>>> l[10]
IndexError: list index out of range
l[10:11]
tego poprosisz o plasterek: zamiast l[10]
, na przykład. () Podlista będzie miała pożądany element, jeśli istnieje)
.get
. Byłby to odpowiednik l[i] if i < len(l) else default
, ale bardziej czytelny, bardziej zwięzły i pozwalający na i
wyrażenie bez konieczności ponownego obliczania
None
jeśli nie istniał. Byłoby miło powiedzieć x = expensive().get(0, None)
, że nie musiałbym umieszczać bezużytecznego zwrotu drogiego w zmiennej tymczasowej.