Coding/Python

[python] 딕셔너리 (Dictionary) 란? / 관련 함수 ( keys, values, items, clear, get, in )

dodomp0114 2021. 11. 20. 11:52
딕셔너리 ( Dictionary ) 

 

- 해석 그대로 '사전' 이라는 뜻을 가지고 있습니다.

  Key값Value 값이 한쌍으로 대응관계를 가지고 있는 자료형입니다.

 

 딕셔너리의 형식은 리스트,튜플과는 다르게 순차적으로 해당 요구값을 구하지않고,

  key 값을 통해 Value 값을 얻습니다.

 

 

ex)

## Dictionary의 기본 형식 { key:value } ##
>>> dic = {"python":"language", "today":"wonderful", "myblog":"haru's tistory"}

## Value 값 불러오기 ##
>>> dic["python"]
"language"
>>> dic["today"]
"wonderful"

## key:value 쌍 추가 ##
>>> dic = {"hello":"welcome", 11:15}
>>> dic["my"] = "tistory"
>>> dic
{"hello" : "welcome", 11:15, "my" : "tistory"}

## key:value 쌍 삭제 ##
>>> del dic[11]
>>> dic
{"hello" : "welcome", "my" : "tistory"}

 

 

또한, value 값으로는 리스트를 사용할 수 있지만, key값으로는 리스트나 딕셔너리 사용 불가며, 튜플은 사용 가능.

 

이러한 이유는 key값으로는 변하지 않는 값만 사용가능하며 value값은 상관없이 아무거나 사용 가능하기 때문.

 

ex)

## Key 값으로 리스트 사용 ##
 
>>> A = {[1,2,3,4] : "hello" }
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: unhashable type: 'list'

## key 값으로 튜플 사용 ##

>>> A = {(1,2,3,4,5):120}
>>> A
{(1, 2, 3, 4, 5): 120}

 

딕셔너리 인덱싱

 

 

 


 

 

 

딕셔너리 관련 함수

 

  • keys ()         - 딕셔너리에서 key값만 추출,
  • values ()       - 딕셔너리에서 value 값만 추출. 
  • items ()        - key, value 값 쌍으로 추출.
  • clear ()         - key, value 값 쌍으로 삭제.
  • get ()           - key 값으로 value 값 얻기.
  • in ()             - 찾는 key값이 딕셔너리 안에 있는 확인.

 

 

keys ()

 

- 딕셔너리에서 key 값만 추출하여 보여주는 함수.

  code : dictionary.keys()

 

※ 파이썬 2.7 버전 까지는 keys () 함수를 사용하면 반환 값으로 리스트를 돌려주었지만,

   3.0 버전 이후로 반환 값으로 객체를 돌려줍니다.

   반환값 객체를 리스트로 변경하려면 list(dictionary.keys()) 와 같이 입력.

 

ex)

## A dictionary 에서 key 값만 추출 ##

>>> A = {1:100, 2:200, 3:300, 4:400}
>>> A.keys()
dict_keys([1, 2, 3, 4])

## keys() 함수 반환값인 객체를 리스트로 만들기 ##

>>> list(A.keys())
[1, 2, 3, 4]

 


values ()

 

- 딕셔너리에서 value 값만 추출할 때 쓰는 함수.

   code : dictionary.values()

 

ex)

## A dictionary 에서 value 값만 추출 ##

>>> A = {1:100, 2:200, 3:300}
>>> A.values()
dict_values([100, 200, 300]) 

## values () 함수 반환값인 객체를 리스트로 변환 ##
>>> list(A.values())
dict_values([100, 200, 300])

 


items ()   

 

- 딕셔너리에서 key값과 value값 한쌍의 데이터를 추출하는 함수.

 

ex)

## key, value 한쌍 추출 ##

>>> A = {1:100, 2:200, 3:300}
>>> A.items()
dict_items([(1, 100), (2, 200), (3, 300)])

 


clear ()

 

- 딕셔너리에 있는 모든 데이터를 지우는 함수.

  clear 함수로 비워낸 딕셔너리는 { } 로 나타납니다.

 

ex)

## clear 함수로 딕셔너리 비워내기 ##

>>> A = {'name':'haru', 'phone':'010-1234-5678', 'address':'seoul'}
>>> A
{'name': 'haru', 'phone': '010-1234-5678', 'address': 'seoul'}

>>> A.clear()
>>> A

 


get ()

 

- 딕셔너리 안에서 key값을 사용하여, value 값을 얻을 때 사용합니다.

  dic ['name'] 와 dic.get('name')은 동일한 결과값을 얻습니다.

  dic ['name']으로 존재하지 않는 키값을 넣었을 경우에는 에러가 반환되지만,

  dic.get('name') 은 None이란 반환값을 전달받습니다.

 

ex)

## get 함수를 사용하지않고 존재하지 않는 key값 불러오기 ##

>>> A = {'name':'haru', 'phone':'010-1234-5678', 'address':'seoul'}
>>> A ['age']
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'age'

## get 함수를 사용하여, 존재하지 않는 key값 불러오기 ##

>>> A.get('age')
None

 


in ()

 

- 딕셔너리 안에  key 값이 존재하는지 확인하는 명령어.

  key값이 존재할 경우 True 를, 존재하지 않을 경우 False를 반환.

 

  code : 'key값' in dictionary

 

ex)

>>> A = {'name':'haru', 'phone':'010-1234-5678', 'address':'seoul'}

## 존재하지 않는 key 갑 호출 ##
>>> 'age' in A
False

## 존재하는 key 값 호출 ##
>>> 'name' in A
True