Чому в списку немає безпечного методу "отримати", як словник?
>>> 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]
замість l[10]
, наприклад. () У підписку буде потрібний елемент, якщо він існує)
.get
. Це було б еквівалентом l[i] if i < len(l) else default
, але більш читабельним, більш лаконічним і дозволяв i
би бути виразом без необхідності його перерахунку
None
якщо такого не було. Було б добре сказати, x = expensive().get(0, None)
тому мені не довелося б марно повертати дороге у тимчасову змінну.