티스토리 뷰

반응형



dict 구성하는 방법 - 기본 


s= ['a', 'b', 'c', 'b', 'a', 'b', 'c']
dic = {}
for i in s:
    if i not in dic.keys():
        dic[i] = 0
    dic[i] +=1

print(dic)

  • 기본적으로 dic 을 구성하기 위해선 key 마다 기본값들을 정해준 뒤에야 연산이 가능합니다. 그래서 dic 을 사용하기 위해서는 초기화를 해주는 과정이 필요합니다. 하지만 python 에는 dict 을 더 쉽게 사용하기 위해 제공하는 여러 메소드들이 있습니다. 대표적인 함수들은 setdefault, defaultdict 입니다.



dict 구성하는 방법 - setdefault 


s= ['a', 'b', 'c', 'b', 'a', 'b', 'c']
d= {}

for k in s:
d.setdefault(k,0)
d[k]+=1
print(list(d.itemes())

  • setdefault 는 키값과 값 하나를 인자로 받는 dict 의 매소드 입니다. setdefault 는 키값이 있다면 키값을 반환하고 없다면 두 번째 인자를 반환합니다.


  • setdefault 과정은 다음과 같습니다. 키값이 없으면 키값에 0을 넣고 만약 있으면 키값을 반환하는 과정입니다.


dict 구성하는 방법 - defaultdict 


import collections

s= ['a', 'b', 'c', 'b', 'a', 'b', 'c']

d = collections.defaultdict(int)

for k in s:
    d[k] += 1
    print(d)

print(dict(d))



  • defaultdict 은 말 그대로 dictionary 의 기본값을 정의하고 값이 없을 경우 에러를 출력하지 않고 기본값을 출력합니다. setdefault 보다 빠른 것이 장점입니다.

  • collections.defaultdict(int) 에서 int 자리에는 list 혹은 다른 object 형태들로 지정가능합니다.



참고 메소드 - counter 


import collections

s= ['a', 'b', 'c', 'b', 'a', 'b', 'c']

c = collections.Counter(s)

print(c)


  • counter 함수는 리스트의 인자들이 각각 몇 개씩 존재하는지 카운트해서 dict 형태로 반환해주는 함수 입니다.






부족한 블로그에 방문해 주셔서 감사합니다.

잘못된 부분이나 질문이 있으시면 

댓글로 말씀해주세요.


금방 확인하고 피드백 드리겠습니다.


좋은 하루 되세요. ^^


반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
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
29 30 31
글 보관함