为什么列表没有像字典一样安全的“获取”方法?
>>> 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)
所以我不必将无用的昂贵返回值放入一个临时变量中。