Pourquoi la liste n'a-t-elle pas une méthode sûre "get" comme le dictionnaire?
>>> 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]
au lieu de l[10]
, par exemple. () La sous-liste aura l'élément souhaité s'il existe)
.get
. Ce serait l'équivalent l[i] if i < len(l) else default
, mais plus lisible, plus concis, et permettant i
d'être une expression sans avoir à la recalculer
None
s'il n'en existait pas. Cela aurait été bien de dire x = expensive().get(0, None)
que je n'aurais pas à mettre le retour inutile de cher dans une variable temporaire.