defaultdict와 dict를 사용하여 리스트에 있는 단어를 카운팅하는 방법을 비교합니다.
2024. 7. 9 최초작성
실행결과는 동일합니다.
defaultdict 결과: {'apple': 3, 'banana': 2, 'cherry': 1, 'date': 1}
일반 dict 결과: {'apple': 3, 'banana': 2, 'cherry': 1, 'date': 1}
전체 코드입니다.
from collections import defaultdict # 1. defaultdict를 사용한 카운팅 def count_with_defaultdict(items): # 해당 키가 없으면 자동으로 0으로 초기화되며 이후 1을 더하게 됩니다. counter = defaultdict(int) for item in items: counter[item] += 1 return dict(counter) # 일반 dict로 변환하여 반환 # 2. 일반 dict를 사용한 카운팅 def count_with_dict(items): # 해당 키가 없는 경우 수동으로 초기값 처리를 해줘야 합니다. 여기에선 한번 발견한 것도 처리하기 위해 1로 초기화합니다. counter = {} for item in items: if item in counter: counter[item] += 1 else: counter[item] = 1 return counter # 카운팅할 단어를 리스트에 저장해둡니다. 리스트에 있는 중복 단어의 개수를 세보려고 합니다. words = ["apple", "banana", "apple", "cherry", "banana", "date", "apple"] # 카운팅 결과를 비교합니다. 결과는 동일합니다. print("defaultdict 결과:", count_with_defaultdict(words)) print("일반 dict 결과:", count_with_dict(words)) |
'Python > Python 예제 코드' 카테고리의 다른 글
특정 단어 뒤에 있는 단어 찾는 Python 예제 (0) | 2024.08.11 |
---|---|
Python try, except 예외처리 사용 방법 (0) | 2024.08.08 |
Python try,except 예외 발생한 줄번호(line number) 출력하기 (0) | 2024.06.28 |
logging을 사용하여 레벨별로 다른 파일에 로그를 저장하는 예제 (0) | 2024.06.20 |
Python if문 내부에 있는 조건별로 주석 달기 (0) | 2024.05.17 |