반응형
Python에서 Dictionary는 Java의 HashMap과 같은 기능을 하며,
가장 중요한 Data structure (자료구조) 중 하나입니다.
Dictionary 를 만들고 나서 Key Value pair를 넣을 때,
두 가지 방법이 있는데, 그것은 value assignment로 subscription을 이용하여 데이터를 넣는 방법과,
update를 사용하는 방법 두 가지가 있습니다.
# dictionary 생성
this_dict = {}
# dictionary value assignment
this_dict["k"] = "v"
# dictionary update method
this_dict.update({"k": "v"})
둘 다 하는 일은 같습니다.
심지어 새로 만드는 것 뿐만 아니라 있던 key value 도 업데이트 되는 형태입니다.
이 스택오버플로우 포스팅에 의하면, value assignment가 훨씬 빠르다고 합니다.
이럴거면 update는 왜만든거지..
가독성 (readability) 이슈라고 하는데,
잘 모르겠습니다.
$ python -m timeit -s 'd = {"key": "value"}' 'd["key"] = "value"'
10000000 loops, best of 3: 0.0741 usec per loop
$ python -m timeit -s 'd = {"key": "value"}' 'd.update(key="value")'
1000000 loops, best of 3: 0.294 usec per loop
$ python -m timeit -s 'd = {"key": "value"}' 'd.update({"key": "value"})'
1000000 loops, best of 3: 0.461 usec per loop
여튼, update function은 앞으로 안쓰는게 좋을것 같습니다.
거의 6배 가깝게 차이가 나네요 ..
반응형
'Python > Basics' 카테고리의 다른 글
py 파일 pyc로 컴파일 하기 (0) | 2021.03.30 |
---|---|
Python 변수 개념(namespace, local, global) (0) | 2021.02.05 |