Por que a lista não possui um método "get" seguro como o dicionário?
>>> 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]
vez de l[10]
, por exemplo. () Th sublista terá o elemento desejado, se existir)
.get
. Seria o equivalente a l[i] if i < len(l) else default
, mas mais legível, mais concisa, e permitindo i
a ser uma expressão sem ter que recalcular-lo
None
se não existisse. Teria sido bom dizer x = expensive().get(0, None)
para não ter que colocar o retorno inútil do caro em uma variável temporária.