티스토리 뷰
defaultdict와 dict의 차이: defaultdict 라이브러리 소개
이 글에서는 Python의 defaultdict와 일반 dict의 차이를 설명하고, defaultdict의 유용성을 소개합니다. defaultdict는 기본값을 설정할 수 있는 딕셔너리로, 데이터 처리 시 발생할 수 있는 여러 가지 오류를 예방하고 코드를 간결하게 만들어줍니다. 이를 통해 개발자들이 더욱 효율적으로 작업할 수 있도록 도와줍니다.
dict와 defaultdict의 차이
Python에서 dict는 키-값 쌍을 저장하는 가장 기본적인 자료구조입니다. 그러나 dict를 사용할 때는 존재하지 않는 키에 접근하려고 할 경우 KeyError가 발생합니다. 예를 들어:
my_dict = {'a': 1, 'b': 2}
print(my_dict['c']) # KeyError 발생
이와 달리 defaultdict는 기본값을 설정할 수 있는 딕셔너리입니다. defaultdict를 사용하면 존재하지 않는 키에 접근할 때 자동으로 기본값을 생성해줍니다. 기본값은 defaultdict를 생성할 때 전달한 함수에 의해 결정됩니다. 예를 들어:
from collections import defaultdict
my_defaultdict = defaultdict(int)
print(my_defaultdict['c']) # 0이 출력됨
위의 예제에서 defaultdict(int)는 기본값으로 0을 설정합니다. 따라서 존재하지 않는 키 'c'에 접근할 때 0이 반환됩니다.
defaultdict의 사용 예시
defaultdict는 특히 데이터 집계나 카운팅 작업에서 유용합니다. 예를 들어, 여러 개의 문자열을 카운트하고 싶을 때 다음과 같이 사용할 수 있습니다:
from collections import defaultdict
words = ['apple', 'banana', 'apple', 'orange', 'banana', 'banana']
word_count = defaultdict(int)
for word in words:
word_count[word] += 1
print(word_count) # defaultdict(<class 'int'>, {'apple': 2, 'banana': 3, 'orange': 1})
위의 코드에서 word_count는 각 단어의 출현 횟수를 자동으로 카운트합니다. defaultdict 덕분에 코드가 간결해지고, 키가 존재하지 않을 때의 오류를 걱정할 필요가 없습니다.
결론
defaultdict는 Python의 dict보다 더 유연하고 강력한 기능을 제공합니다. 기본값을 설정할 수 있어 코드의 가독성과 안정성을 높여주며, 특히 데이터 집계와 같은 작업에서 매우 유용합니다. Python을 사용할 때 defaultdict를 적절히 활용하면 더욱 효율적인 프로그래밍이 가능할 것입니다.
'Python > Python Library' 카테고리의 다른 글
- Total
- Today
- Yesterday
- Python
- 주식투자
- 토치비전
- 퀀트투자
- 1164회 로또
- 차트분석
- Numpy
- 주린이탈출
- chat gpt 가격 예상
- chat gpt api 비용 계산
- chat gpt 한국어 가격
- 인공지능 로또 예측
- 재테크
- 티스토리챌린지
- 자동매매
- 주식공부
- 로또 1164회 당첨
- 케라스
- 장고 orm sql문 비교
- chat gpt 모델 api 가격 예측
- 1165회 로또
- 클래스형 뷰
- 로또 ai
- chat gpt 모델별 예산
- 자동매매로직
- 기술적분석
- 골든크로스
- chat gpt 4o 예산
- chat gpt 모델 별 가격
- 오블완
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |