python 딕셔너리 key 접근 vs update()

lv2dev·2024년 8월 17일
0

Python 이것저것

목록 보기
1/6

update()

my_dict.update({'key1':'value1', 'key2':'value2'})
  • 수정하거나 추가하고자 할 키와 값을 딕셔너리 형태로 전달해 사용한다.
  • 해당 키가 이미 있다면 값을 수정하고 없다면 새로운 키와 값을 추가한다.

key 접근 vs update()

  • gpt에게 테스트를 부탁했고 결과는 아래와 같다.
import time

# 많은 아이템을 가진 딕셔너리 생성
keys = [f'key{i}' for i in range(100000)]
values = [i for i in range(100000)]
items = dict(zip(keys, values))

# 직접 접근 방법
start_time = time.time()
for key, value in items.items():
    items[key] = value + 1
direct_access_time = time.time() - start_time

# update() 함수 방법
items = dict(zip(keys, values))  # 초기화
start_time = time.time()
items.update({key: value + 1 for key, value in items.items()})
update_method_time = time.time() - start_time

direct_access_time, update_method_time

직접 접근 방법: 약 0.028초
update() 함수 방법: 약 0.042초

  • 아무래도 처리 로직이 추가되는 만큼 직접 접근이 더 빠르다.
  • 하지만 언제나 예외는 있는 만큼 항상 해당 키가 있을 것이라고 100% 확신하는게 아니라면 update()를 사용하는게 맞을 것 같다.
profile
언제나 레벨업을 하고 싶은 영원한 lv1

0개의 댓글