중복된 번호 예외처리를 위한 nested dict 탐색 속도 관련 질문
262
작성한 질문수 17
저는 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/
dict, zip
0
32
2
for, range 추가 방법
0
46
0
오타: 20-1 예시 코드에 c = 135가 아니고 a = 135이죠?
0
78
1
방법2, 방법3의 결과가 요구 출력결과와 다릅니다.
0
125
4
glob.glob문 오류
0
72
1
질문입니다.
0
66
1
기초적인 질문입니다.
0
57
1
딕셔너리 인트문제
0
57
0
아나콘다 설치 시 오류가 뜨면서 인스톨이 끝까지 안 되네요...
0
124
1
실행오류
0
65
2
주피터 노트북 새버전
0
135
2
with open
0
131
2
PowerShell Prompt에서 주피터노트북 기본 드라이버/폴더 위치변경 후 주피터노트북 실행
0
187
2
기초적인 질문입니다만
0
113
1
새로운 dict를 생성한 이유에 대해서 궁금합니다.
0
169
2
안녕하세요 전 버전이 상위버전인지 달라서
0
246
2
주피터 token
0
142
2
주피터 token
0
168
2
아나콘다를 D드라이브에 설치했는데
0
725
4
python 3 (ipykernel)이 뜨지 않음
0
204
1
안돼요ㅜㅜ in[]으로 뜨지도 않고 초록색으로 변하지도 않아요...
1
348
3
주피터를 크롬말고 엣지에서 그대로 써도 괜찮은가요?
0
261
2
오류
0
149
1
주피터 실행 불가 에러
0
416
2





