본문 바로가기

Collections3

# 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.
# 2. 데크 (Deque) 저번 포스트에서는 나서스의 스택에 스택과 큐에 대해 알아보았다. 이번 포스트에서는 큐의 연장선상 개념(?)인 데크에 대해서 알아보겠다. 데크는 풀네임 영어로 Double Ended Queue를 의미한다. 즉, 양방향으로 끝이 존재하는 큐를 뜻한다. 이번에도 역시 그림을 그려보자. 큐와 모양 자체는 똑같다! 하지만, 큐는 한뱡으로 들어가고 나갈 수 없는 방면에 데크는 양끝에 데이터가 들어오고 나갈 수 있는 특징이 있다. 그렇다면 데크를 왜 사용하는지 알아보자. 이는 파이썬의 리스트 자료형과 비교하면 알 수 있다. 우리가 리스트에 insert하는 과정을 그림으로 그리면 다음과 같다. 먼저 insert를 하기 위한 공간 하나를 할당해주어야 한다. 그 다음 기존에 존재하던 자료의 갯수(N개, 위 그림에서는 2개.. 2021. 12. 2.
# 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.