딕셔너리는 key와 value가 있습니다. 짝을 맞춰 변수들을 한 번에 선언한다 ? 라고 보면 될 것 같습니다.
key는 무조건 1개의 값만 되고
value는 1개의 값도 되고, 여러개의 값도 가능합니다.
{Key1:Value1, Key2:Value2, Key3:Value3, ...}
딕셔너리 값 추가
a라는 딕셔너리를 선언하고,
딕셔너리에 a[2]='b'를 입력하면
a의 key와 value에
2 & b
가 추가됩니다.
1)
>>> a = {5: 'c'}
>>> a[2] = 'b'
>>> a
{5: 'c', 2: 'b'}
2) key는 숫자와 문자 둘다 가능합니다.
>>> a['weather'] = 'sunny'
>>> a
{5: 'c', 2: 'b', 'weather': 'sunny'}
3) value에 여러개값 추가하기
>>> a[3] = [1,2,3]
>>> a
{5: 'c', 2: 'b', 'weather': 'sunny', 3: [1, 2, 3]}
4) key에 여러개값 추가하기 -> 에러 발생
>>> a = {[1,2] : 'hi'}
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
딕셔너리 값 삭제
딕셔너리의 값을 삭제할 때는, del이라는 함수를 사용해서 key값을 입력해줍니다.
del a[key]
>>> del a[5]
>>> a
{2: 'b', 'weather': 'sunny', 3: [1, 2, 3]}
딕셔너리에서 Key 사용해 Value 얻기
다음 딕셔너리에서 특정 key값을 입력해 value를 출력할 수 있다.
>>> mission= {'today': 1, 'tomorrow': 2}
>>> mission['today']
1
>>> mission['tomorrow']
2
딕셔너리 중복 key 사용 금지
딕셔너리에서 key값이 중복이 되면, 마지막 대입 된 값만 출력된다.
>>> a = {1:'a', 1:'b'}
>>> a
{1:'b'}
딕셔너리 관련 함수들
딕셔너리에서 제공하는 함수들을 살펴보자.
1) keys()
딕셔너리에서 key 리스트 만들기
>>> a = {'jj': '11', 'kk': '22', 'cc': '33'}
>>> a.keys()
dict_keys(['jj', 'kk', 'cc'])
for문으로 key값 출력
>>> for k in a.keys():
... print(k)
...
jj
kk
cc
2) list(a.keys())
a.keys()함수를 리스트로 변형할 때 메모리 낭비가 발생하므로, 파이선 3.0이후에 사용가능한 list(a.keys())를 사용해준다.
dict_keys 객체를 리스트로 변형해준다.
>>> list(a.keys())
['jj', 'kk', 'cc']
3) values()
value도 list를 만들 수 있다.
>>> a.values()
dict_values(['11', '22', '33'])
4) items()
items 함수는 Key와 Value를 튜플로 묶은 값을
dict_items 객체로 출력해줍니다.
>>> a.items()
dict_items([('jj', '11'), ('kk', '22'), ('cc', '33')])
5) clear()
Key: Value 쌍 모두 삭제할 수 있습니다.
빈 딕셔너리 표현은 {}
(빈 리스트 [] 빈 튜플() )
>>> a.clear()
>>> a
{}
6) get
Key로 Value얻기(get)
>>> a ={'jj': '11', 'kk': '22', 'cc': '33'}
>>> a.get('jj')
'11'
>>> a.get('kk')
'22'
key값이 없으면 None 이 출력됨.
>>> print(a.get('uu'))
None
get함수를 안쓸경우 key가 없다는 에러발생
>>> print(a['uu'])
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'uu'
6) in
함수를 해당 key값이 딕셔너리에 존재하는지 in으로 알아보기
>>> a ={'jj': '11', 'kk': '22', 'cc': '33'}
>>> 'jj' in a
True
>>> 'uu' in a
False
True면 값이 있는 것이고, False면 값이 없는 것입니다.
'Python' 카테고리의 다른 글
집합 자료형 함수 정리 (0) | 2022.01.17 |
---|---|
집합 자료형 set (0) | 2022.01.16 |
튜플 예제 (0) | 2022.01.15 |
리스트 자료형 2 (0) | 2022.01.14 |
리스트 자료형 1 (2) | 2022.01.14 |
댓글