왜리스트에 사전과 같은 안전한 "get"메소드가 없는가?
>>> 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]
대신 슬라이스를 요청하면 IndexError를 발생시키지 않고 목록에서 빈 하위 목록을 항상 가져올 수 있습니다 l[10]
. ()이 하위 목록에는 원하는 요소가있을 것입니다.
.get
. 그것은 l[i] if i < len(l) else default
더 읽기 쉽고 간결하며, i
다시 계산하지 않고도 표현할 수있게 해줍니다.
None
존재하지 않는 경우 에만 사용했습니다 . 말을하는 것이 좋았 기 x = expensive().get(0, None)
때문에 쓸모없는 값 비싼 값을 임시 변수에 넣을 필요가 없었습니다.