[Python] 파이썬 defaultdict() 함수 ?
코딩도장에서 문제를 풀다가 Collection모듈에서 defaultdict()함수를 사용하는걸 봤다.
공부할 겸 정리.
Collection 에서 불러오기
from collections import defaultdic
defaultdic() 이라는 함수는 dictionary에 기본값을 정의하고 키값이 없더라도 에러가 나지 않고 그냥 기본값만 출력해준다.
Default dictionary를 생성하고, 기본값(Default값 설정)
d = defaultdict(object)
d = defaultdict(lambda : 0 ) # Default 값 0으로 설정
이제 생성한 dictionary인 d에다가 키이름을 붙여주면, 키값을 따로 설정하지 않아도 에러가 나지 않는다.
예를들어
d['stupid']
이렇게 콘솔창에 입력할 경우, 원래라면 키값이 존재하지 않아서 KeyError 를 호출하지만
d = defaultdict(object)
d = defaultdict(lambda : 0 )
d['stupid']
이렇게 선언해주면 앞으로 모든 키들이 키값으로 기본값 0 을 갖게 되므로 에러가 나지 않는다.
이 모듈을 이용한 간단한 문제
1부터 1000까지 각 숫자의 갯수를 구하는 코드를 짜보자
from collections import defaultdict
d = defaultdict(int) # defaultdict을 위 설명과 다르게 int 형으로 입력해주고
for n in range(1, 1001): # 범위 설정
for x in str(n): # int n을 문자로 변환하고 변환된 문자n을 x에 넣는다.
d[x] += 1
print(d)
'공부 > Python' 카테고리의 다른 글
[python] ModuleNotFoundError: No module named 'pip' pip 사라짐 (0) | 2021.01.11 |
---|---|
[Python] vsCode 가상환경에서 bp(Breakpoint) 무시 Error (2) | 2020.07.07 |
[Python] 파이썬 문제풀기 (0) | 2017.10.19 |
[Python] IndentationError: unindent does not match any outer indentation level 처리 (1) | 2017.08.30 |
[Python] 파이썬에서 pymysql모듈 사용하기② (0) | 2017.08.30 |
댓글