파이썬 딕셔너리

 

 

딕셔너리는 해석하면 [사전]입니다.

만약 영문사전에 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안에 있던 모든 요소들이 사라진다.


 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기