더북(TheBook)

다음은 역방향 조회가 성공했을 때의 예이다.

>>> h = histogram('parrot')

>>> k = reverse_lookup(h, 2)

>>> k

'r'

역방향 조회가 실패했을 때의 예도 보자.

>>> k = reverse_lookup(h, 3)

Traceback (most recent call last):

File "<stdin>", line 1, in <module>

File "<stdin>", line 5, in reverse_lookup

LookupError

예외를 일으켰을 때의 결과는 파이썬이 예외를 일으켰을 때와 같다. 즉, 트레이스백(traceback, 역추적)과 오류 메시지를 출력한다.

raise 문에는 자세한 오류 메시지를 선택 인수(optional argument)로 쓸 수 있다. 예를 보자.

>>> raise LookupError('value does not appear in the dictionary')

Traceback (most recent call last):

File "<stdin>", line 1, in ?

LookupError: value does not appear in the dictionary

역방향 조회는 순방향 조회(forward lookup)보다 훨씬 더 느리다. 역방향 조회를 자주 해야 하거나 사전이 매우 커진다면 프로그램의 성능에 문제가 생길 수 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.