딕셔너리 해결 방안

SA Jung·2022년 9월 28일
0

Python 함수 정리

목록 보기
5/7

해시(Hash)와 관련된 문제는 dict로 풀 수 있다.
key:value를 딕셔너리에 저장하고 원하는 key 및 value를 알 수 있어 알고리즘 문제를 푸는데 있어 중요하다.

1. 딕셔너리

1-1 딕셔너리 정렬하기

  • default는 오름차순이고, reverse=True를 이어 붙이면 내림차순으로 정리된다.
# 오름차순
dic1 = {3: "c", 2: "b", 1: "a"}
dic1 = sorted(dic1.items())
print (dic1)
# [(1, 'a'), (2, 'b'), (3, 'c')]

# 내림차순
dic1 = {3: "c", 2: "b", 1: "a"}
dic1 = sorted(dic1.items(), reverse=True)
print(dic1)
# [(3, 'c'), (2, 'b'), (1, 'a')]

1-2. defaultdict

  • key값이 없는 경우 key값을 만들고, key값이 있는경우 기존 value값에 추가적인 처리를 하는 자동 함수를 호출할 수 있도록 도와주는 라이브러리
  • defaultdict(--)
    • list, int, str 등 자료형 선택 가능!
from collections import defaultdict
# 딕셔너리 없는 경우 자동 함수 호출 입력

dict_t = defaultdict(list)

# 이렇게 할경우 순회구조 판별시 list(dict_t)필요할 수도 있음

for i in list(dict_t):
    print(i)

1-3. Counter 이용하기

1-3-1. 요소별 갯수 dict로 저장

# 리스트 목록 count -> dict형태로 변환
from collections import Counter

# Counter
tmp = [1, 2, 2, 1, 3, 2, 3, 2, 2, ]
tmp_dict = Counter(tmp)
print(tmp_dict)

1-3-2. 빈도수가 높은 요소 추출

# 빈도수가 높은 요소 추출
print(tmp_dict.most_common(1))
print(tmp_dict.most_common(2))
profile
Tomorrow will be better than yesterday :)

0개의 댓글