📌 딕셔너리란?
앞에서 리스트를 공부하면서 언급했던 컬렉션.
컬렉션은 하나의 변수 안에 여러 개의 값을 담을 수 있는 캐리어 같은 놈이다.
오늘 배울 딕셔너리와 리스트는 어떤 차이가 있을까?
리스트란 순서를 유지하는 값들의 '선형 컬렉션' 이라면,
딕셔너리는 고유의 라벨을 갖고 있는 값을 넣고 있는 컬렉션이다.
즉 키:163, 나이:21 이런 식으로 Key:Value가 담겨 있다.
빈 리스트를 생성하는 것처럼, 빈 딕셔너리를 생성하는 법도 똑같다.
다만 리스트는 안에 무언가를 추가할 때 list.append() 이런 메서드를 사용했는데,
딕셔너리는 직접 넣어준다. 또한 딕셔너리는 기본적으로 저장되는 순서가 없다.
dic = dict()
dic['age'] = 21
dic['birthday'] = 18
>>> print(dic)
{'age':21, 'birthday':18}
dic['birthday'] = 20
>>> print(dic)
{'age':21, 'birthday':20}
특히 딕셔너리에서는 get매서드가 있는데, 키가 딕셔너리에 있는지 확인하고
없다면 기본값으로 설정하는 확인 패턴은 아주 많이 쓰여서 이 일을 하는 get()이라는 매서드가 존재한다고 한다.
counts = dict()
names = ['a', 'b', 'c', 'a', 'b']
for name in names :
counts[name] = counts.get(name, 0) +1
print(counts)
print를 하면 어떻게 될까?
{'a': 2, 'b': 2, 'c':1}
counts 안에 name이 한번씩 들어가면서 기본값 0을 주었고 1씩 더해 중복된 값들은 2가 나온 모습이다.
counts = {'a' : 1, 'b' : 2, 'c' : 3}
for key in counts :
print(key, counts[key])
이렇게 하면 key 값인 a가 나올 때 counts[a]로 1도 함께 출력된다.
a 1
b 2
c 3 이런 식으로
딕셔너리에서는 키나 값이나 아이템(키&값) 형태로 얻을 수 있다.
keys만 달라고 하든지 values만 달라고 하든지 items을 달라고 하든지...
items를 쓸 때는 키&값 형태니까 반드시 변수가 2개여야 한다.
hello = {'a':1, 'b':2, 'c':3}
for v, p in hello.items() :
print(v, p)
더불어 키&값의 형태다보니 반복 변수를 2개 사용해 다룰 수도 있다.
뒤로 갈수록 중첩되거나 유사한 문법이 많아서 그렇게 어렵진 않은데,
딕셔너리는 키와 값 2가지를 갖고 있다는 점을 유념해서 활용해야 한다.
'🥧 Python > 💭 네이버 부캠 모위파' 카테고리의 다른 글
[네이버 부스트캠프: 모두를 위한 파이썬] 10장. 튜플 (0) | 2023.03.10 |
---|---|
[네이버 부스트캠프: 모두를 위한 파이썬] 8장. 리스트 (0) | 2023.03.09 |
[네이버 부스트캠프: 모두를 위한 파이썬] 6장. 문자열 (0) | 2023.03.09 |
[네이버 부스트캠프: 모두를 위한 파이썬] 5장. 루프와 반복문 (0) | 2023.03.02 |
[네이버 부스트캠프: 모두를 위한 파이썬] 4장. 함수 (0) | 2023.03.01 |