딕셔너리 ( 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
'Coding > Python' 카테고리의 다른 글
[python] if 문 / elif 문 ( 비교연산자, 논리연산자, 포함연산자 ) (0) | 2021.11.23 |
---|---|
[python] 집합 ( set ) 자료형 이란? / 집합 구하기 / 관련 함수 ( add, update, remove ) (0) | 2021.11.21 |
[python] 튜플 ( tuple ) 이란? (0) | 2021.11.20 |
[python] 리스트 관련 함수 ( 추가, 정렬, 뒤집기, 삭제) (0) | 2021.11.19 |
[python] count, len 함수 (0) | 2021.11.11 |