¿Por qué la lista no tiene un método seguro "get" como el diccionario?
>>> 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]
su lugar: en lugar de l[10]
, por ejemplo. () La sublista tendrá el elemento deseado si existe)
.get
. Sería el equivalente l[i] if i < len(l) else default
, pero más legible, más conciso, y permitiría i
ser una expresión sin tener que recalcularlo
None
si no existiera. Hubiera sido bueno decirlo x = expensive().get(0, None)
para no tener que poner el inútil retorno de costoso en una variable temporal.