• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

중복된 번호 예외처리를 위한 nested dict 탐색 속도 관련 질문

23.11.04 14:24 작성 23.11.04 14:24 수정 조회수 145

0

저는 Update, Delete 메뉴를 실행 시, 입력된 전화번호가 중복되는지 예외처리를 구현해봤습니다.

def find_duplicate_number(phonebook, new_number):
    is_duplicate = False
    for pid, address in phonebook.items():
        if int(address.get('Phone')) == new_number:
            is_duplicate = True
    return is_duplicate

그런데 dict 의 모든 value 를 선형탐색 하는 것이 비효율적인것 같아서 질문드립니다.

Nested dict 형태라서 어쩔 수 없는것인지, 혹은 다른 방법이 있을까요?

답변 1

답변을 작성해보세요.

0

안녕하세요.

좋은 질문입니다.

보통은 내부적으로 잘 구현되어 있는 counter 패키지를 활용합니다.(코딩테스트시에도)

중간정도에 딕셔너리의 키, 값을 체크하는 부분이 있습니다.

감사합니다.

https://www.geeksforgeeks.org/python-find-keys-with-duplicate-values-in-dictionary/