반응형
defaultdict()
dict 클래스의 서브 클래스로, 기본값을 지정할 수 있는 딕셔너리입니다.
num, list, set 등으로 초기화할 수 있습니다.
from collections import defaultdict
defaultdict(int)
int_dict = defaultdict(int)
print(int_dict)
print(int_dict["test"])
# defaultdict(<class 'int'>, {})
# 0
처음 키를 지정할 때 값을 설정하지 않아도, 해당 Key에 대한 값을 Default로 설정할 수 있다.
특정 값의 카운팅을 처리할 때 용이하다.
char_count = defaultdict(int)
for char in s:
char_count[char] += 1 # key가 없어도 자동으로 0에서 시작
defaultdict(list)
list_dict = defaultdict(list)
print(list_dict)
list_dict["test"].append(1)
print(list_dict)
# defaultdict(<class 'list'>, {})
# defaultdict(<class 'list'>, {'test': [1]})
모든 value는 빈 리스트로 초기화되어 있어 바로 값을 넣을 수 있다.
scores = defaultdict(list)
records = [
("Alice", "Math", 90),
("Alice", "Science", 85),
("Bob", "Math", 80),
("Bob", "History", 75),
]
for student, subject, score in records:
scores[student].append((subject, score)) # 과목과 점수를 리스트로 저장
print(scores)
# defaultdict(<class 'list'>, {'Alice': [('Math', 90), ('Science', 85)], 'Bob': [('Math', 80), ('History', 75)]})
특정 값별로 value를 관리할 때에도 유용하게 사용될 수 있다.
반응형
반응형
defaultdict()
dict 클래스의 서브 클래스로, 기본값을 지정할 수 있는 딕셔너리입니다.
num, list, set 등으로 초기화할 수 있습니다.
from collections import defaultdict
defaultdict(int)
int_dict = defaultdict(int)
print(int_dict)
print(int_dict["test"])
# defaultdict(<class 'int'>, {})
# 0
처음 키를 지정할 때 값을 설정하지 않아도, 해당 Key에 대한 값을 Default로 설정할 수 있다.
특정 값의 카운팅을 처리할 때 용이하다.
char_count = defaultdict(int)
for char in s:
char_count[char] += 1 # key가 없어도 자동으로 0에서 시작
defaultdict(list)
list_dict = defaultdict(list)
print(list_dict)
list_dict["test"].append(1)
print(list_dict)
# defaultdict(<class 'list'>, {})
# defaultdict(<class 'list'>, {'test': [1]})
모든 value는 빈 리스트로 초기화되어 있어 바로 값을 넣을 수 있다.
scores = defaultdict(list)
records = [
("Alice", "Math", 90),
("Alice", "Science", 85),
("Bob", "Math", 80),
("Bob", "History", 75),
]
for student, subject, score in records:
scores[student].append((subject, score)) # 과목과 점수를 리스트로 저장
print(scores)
# defaultdict(<class 'list'>, {'Alice': [('Math', 90), ('Science', 85)], 'Bob': [('Math', 80), ('History', 75)]})
특정 값별로 value를 관리할 때에도 유용하게 사용될 수 있다.
반응형