일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- terraform
- 스프링 부트와 AWS로 혼자 구현하는 웹 서비스
- 바이오데이터 엔지니어
- git
- Firefox
- WPF
- 프로그래머스 코딩테스트 연습
- selenium
- Python
- Word Cloud
- github
- 디자인 패턴
- 애드센스
- 스코페2021
- 프로그래머스 코딩테스트 연습문제
- 파이썬
- pycharm
- PostgreSQL 설치 시 에러
- FastAPI
- 클린 코드
- 브랜디
- PostgreSQL
- 프로그래머스 월간 코드 챌린지 시즌1
- Spring Boot
- Codeforces
- c#
- heroku
- 프로그래머스 코딩 테스트 연습
- github actions
- 프로그래머스 월간 코드 챌린지
Archives
- Today
- Total
프로그래밍 연습하기
파이썬 Defaultdict 본문
반응형
파이썬 Collections 에 defaultdict라는 것이 있습니다.
어디선가 몇 번 본 기억은 있는데 그냥 별 생각 없이 지나쳤었는데,
얼마 전 관련 글을 좀 보니까 상당히 편리한 Container 임을 알게 되었습니다.
예를 들어 어떤 문자열에서 알파벳의 수를 셀 때
일반 dict() 의 경우 알파벳들을 먼저 키로 등록 해두던가
아니면 문자열을 돌면서
먼저 해당 알파벳이 키로 있는지 없는지 확인하고 없으면 값을 1로 해주고
있는 경우 값을 1 추가해주는 그런 번거로운 방식을 써야되는데
my_dict = dict()
my_string = "abc"
for s in my_string:
if my_dict.get(s):
my_dict[s] += 1
else:
my_dict[s] = 1
defaultdict의 경우
my_dict = defaultdict(int)
위 처럼 기본 타입을 지정해주면
키가 없더라도 그냥 값을 1 증가시켜주면 키가 생성되면서 기본값 0에 1이 추가됩니다.
from collections import defaultdict
my_dict = defaultdict(int)
my_string = "abc"
for s in my_string:
my_dict[s] += 1
딕셔너리를 이렇게 사용할 때가 많았는데,
defaultdict로 깔끔하게 할 수 있었네요.
파이썬을 그나마 좀 많이 사용해봤는데
역시 아직도 모르는 것이 많은 것 같습니다.
반응형
'Python' 카테고리의 다른 글
Pycharm Pytest 관련 에러 및 설정 (0) | 2021.05.17 |
---|---|
파이썬으로 특정 폰트의 글자를 이미지로 만들기 (0) | 2021.04.12 |
파이썬 에러 Convert UTF-8 with BOM to UTF-8 with no BOM in Python 해결 (0) | 2020.11.24 |
Openpyxl 하이퍼링크 넣기 (0) | 2020.09.29 |
파이썬 데코레이터를 이용한 실행 시간 측정 (0) | 2020.09.17 |
Comments