딕셔너리는 해석하면 [사전]입니다.
만약 영문사전에 Apple라는 단어를 찾으면 뜻이 사과라는 값이 나오듯 딕셔너리는 파이썬에서도 {Key:Value}의 형태로 사용하는 문법입니다. 기본적인 딕셔너리 사용방법을 알아보겠습니다.
파이썬 딕셔너리의 사용법과 관련 함수
:: 딕셔너리 ::
>>> a = {'name':'KIM','sex':'Female',1:[3,5,7]}
{대괄호} 안에 {Key:Value}의 형태로 콤마( , )로 구분하여 몇 개라도 넣을 수 있고,
위 예문의 마지막 딕셔너리 처럼 정수 값 key와 리스트 Value를 사용할 수도 있습니다.
Key로 Value값 얻기
>>> a = {'name':'KIM','sex':'Female',1:[3,5,7]}
#Key가 'name'인 Value값 찾기
>>> a['name']
'KIM'
#Key가 1인 Value값 찾기
>>> a[1]
[3, 5, 7]
#찾는 Key가 딕셔너리속에 없을 경우
>>> a['address']
#error발생
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
KeyError: 'address'
Key에 해당하는 Value값을 찾기위해선 변수[Key]를 사용하여 Value값을 가져올 수 있습니다.
지금까지 해왔던 튜플, 리스트의 인덱싱과 같은 모양입니다.
허나 리스트와 튜플의 '0번째부터 세어 몇 번째를 찝어오세요~' 했던 것과 다르게 Key값을 사용하여 찝어옵니다.
Value값을 가져오기 위해선 Key값이 필요한 셈입니다.
딕셔너리 사용의 특이사항
>>> a = {'name':'KIM','name':'YOUN'}
>>> a
{'name': 'YOUN'}
Key를 동일하게 지정하면 하나를 제외한 나머지 값들이 모두 무시됩니다.
Key는 각각 Key마다 고윳값으로 지정해야 합니다.
>>> a = {[3,5,7]:'number'}
>>> a
#error 발생
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'
아까 Value값으로 [리스트]를 줄 수는 있었지만 Key값으로 [리스트]를 주는 것은 불가능합니다.
:: 딕셔너리 관련 함수 ::
1. 딕셔너리 요소 추가와 삭제
>>> a = {'name':'KIM'}
>>> a
{'name': 'KIM'}
#변수 a 딕셔너리에 {Key:Value} 추가하기
>>> a['sex'] = 'female'
>>> a
{'name': 'KIM', 'sex': 'female'}
#변수 a 딕셔너리 속 {Key:Value} 삭제하기
>>> del a['sex']
>>> a
{'name': 'KIM'}
변수['Key'] = 'Value'의 모양으로 쉽게 딕셔너리 안에 요소를 추가할 수 있고, 반대로 삭제할 때에는
del 변수['key']로 딕셔너리 속에서 요소를 없애버릴 수 있습니다.
2. Key로 Value 얻기 .get('Key')
>>> a = {'name':'kim', 'sex':'female', 'age':'90'}
>>> a.get('sex')
'female'
#없는 가져오려는 Key가 없을 때
>>> print(a.get('address'))
None
위에서 사용햇던 변수['Key']와는 다르게 변수.get('Key')는 만일 찾는 대상이 없더라도 에러 코드를 뱉지 않고
None이라는 값을 출력해 줍니다.
3. Key가 딕셔너리 속에 있는지 확인 하기 ['Key' in 변수]
>>> a = {'name':'kim', 'sex':'female', 'age':'90'}
#있는 경우에 참를 리턴
>>> 'sex' in a
True
#없는 경우엔 거짓을 리턴
>>> 'address' in a
False
4. Key만 모아 리스트로 만들기 .keys()
>>> a = {'name':'kim', 'sex':'female', 'age':'90'}
>>> a
dict_keys(['name', 'sex', 'age'])
변수.keys()는 변수에 있는 Key만 모아서 dict_keys([Key1, Key2, Key3])와 같이 리스트 형태로 만들어줍니다.
5.Value만 모아 리스트로 만들기 .values()
>>> a = {'name':'kim', 'sex':'female', 'age':'90'}
>>> a.values()
dict_values(['kim', 'female', '90'])
변수.values()는 변수에 있는 Value만 모아서 dict_values([Value1, Value2, Value3])와 같이 리스트 형태로 만들어줍니다.
6. Key:Value 얻기 .items()
>>> a = {'name':'kim', 'sex':'female', 'age':'90'}
>>> a.items()
dict_items([('name', 'kim'), ('sex', 'female'), ('age', '90')])
{Key:Value}한 세트를 (튜플)로 묶어 dict_items([(Key1:Value1),(Key2:Value2),(Key3:Value3)]) 모양으로 만들어 줍니다.
7. Key:Value 지우기 .clear()
>>> a = {'name':'kim', 'sex':'female', 'age':'90'}
>>> a.clear()
{}
딕셔너리 a안에 있던 모든 요소들이 사라진다.
'IT > 파이썬3 공부' 카테고리의 다른 글
[파이썬 기초] while 반복문 기초 (0) | 2020.05.13 |
---|---|
[파이썬 기초] if 조건문 기본 (0) | 2020.05.11 |
[파이썬 기초] 튜플 인덱싱과 슬라이싱, 함수 (0) | 2020.05.05 |
[파이썬 기초] 리스트 -2 연산과 함수사용 (0) | 2020.05.01 |
[파이썬 기초] 리스트 -1 (자료형) 인덱싱과 슬라이싱 (0) | 2020.04.30 |
최근댓글