본문 바로가기

Dictionary3

# 20. Counter 이번 포스트에서는 파이썬의 기본 모듈인 collections 모듈중에서 Counter에 대해 알아볼 것이다. Counter 클래스는 기본적으로 dict(딕셔너리)클래스를 상속받고 있다. 해당 클래스는 요소의 빈도수를 체크하기 적합한 자료형이다. 우선 Counter 클래스를 사용하지 않고 요소의 빈도수를 체크하려면 딕셔너리를 사용할 것이다. corpus = "abcdeabcdabcaba" d = dict() for c in corpus: d.setdefault(c, 0) d[c] += 1 d >>> {'a': 5, 'b': 4, 'c': 3, 'd': 2, 'e': 1} 위 코드처럼 딕셔너리를 사용하여 각 문자들의 빈도수를 매핑할 수 있다. 하지만, 이는 Counter를 알고있다면 for문이 불필요하게 사.. 2022. 3. 1.
# 14. dictionary setdefault, defaultdict 그동안 여러모로 일이 많아서 포스트가 미뤄졌습니다.. (--) (__) 그동안 새로 알게된 사실들을 차근차근 정리하고자 한다.. 우선 딕셔너리에 기본값을 설정하는 깔끔한 방법부터 정리하겠다! 이번 포스트에서 다룰 내용은 크게 두 가지이다. 첫 번째는 setdefault() 메소드를 활용하여 단일 키값에 대한 기본값 설정, 두 번째는 defaultdict 컬렉션을 활용하여 대입되는 키값에 대한 기본값 설정이다. 바로 코드로 확인해보겠다. # setdefault 를 알기 전, 각 키별로 기본값을 설정하는 방법 def set_default_value(): d = dict() keys = [1, 2, 3, 4, 5] for k in keys: d[k] = list() print(d) 만약 각 키값에 리스트를 기.. 2021. 5. 28.
# 11. [Tip] dictionary merge 이번 포스트에서는 딕셔너리를 병합하는 방법에 대해 다뤄보고자 한다. 리스트 자료형같은 경우에는 extned() 메소드를 사용하여 확장할 수 있다. 마찬가지로 딕셔너리도 방법이 존재한다. 우선 이 포스트를 보기 이전에 가변 인자에 대한 개념이 부족하다면 dev-ryuon.tistory.com/4?category=908968 를 먼저 참고하는 것을 추천한다. 먼저 mutable한 방법부터 살펴본다. d1.update(d2) print(d1) >> {'a': 1, 'b': 5, 'c': 3, 'd': 4} 딕셔너리 클래스의 update() 메소드를 사용하면 d1 딕셔너리 인스턴스에 d2 딕셔너리 인스턴스의 내용이 덮어쓰인 것을 확인할 수 있다. 다음으로는 immutable한 방법을 살펴보겠다. d1 = {'a.. 2021. 4. 14.