-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
중복된 번호 예외처리를 위한 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 형태라서 어쩔 수 없는것인지, 혹은 다른 방법이 있을까요?
답변을 작성해보세요.
0
좋은사람
지식공유자2023.11.06
안녕하세요.
좋은 질문입니다.
보통은 내부적으로 잘 구현되어 있는 counter 패키지를 활용합니다.(코딩테스트시에도)
중간정도에 딕셔너리의 키, 값을 체크하는 부분이 있습니다.
감사합니다.
https://www.geeksforgeeks.org/python-find-keys-with-duplicate-values-in-dictionary/
답변 1