딕셔너리 자료형 따라 하기
딕셔너리(Dictionary)란?
대부분의 언어에서 말하는 해시(Hash)와 같은 연관 배열이라고 보면 된다. "fruit"라는 단어를 예로 보자.
딕셔너리 자료형에서는 key와 value라는 두 속성을 가지게 된다. key는 "apple", value는 "red"처럼 한 쌍의 key와 value값을 갖는 자료형이다.
다음은 기본 딕셔너리의 형태이다.
{Key1:Value1, Key2:Value2, Key3:Value3, ...}
key에는 변하지 않는 값을 사용하며, value에는 변하거나 변하지 않는 값 모두 사용 가능하다.
다음의 예를 보자.
editor = {'name' : 'PY', 'date' : '20200404', 'description' : 'Hello python'}
위에서 key는 'name', 'date', 'description'이 되고 value는 'PY', '20200404', 'Hello python'가 된다.
>>> editor = {'name' : 'PY', 'date' : '20200404', 'description' : 'Hello python'}
>>> editor
{'name': 'PY', 'date': '20200404', 'description': 'Hello python'}
key | value |
name | PY |
date | 20200404 |
description | Hello python |
딕셔너리 쌍(Dictionary pair) 추가하기 예제
>>> a = {1 : 'b'}
>>> a[2] = 'd'
>>> a
{1: 'b', 2: 'd'}
>>> a['editor'] = 'PY'
>>> a
{1: 'b', 2: 'd', 'editor': 'PY'}
딕셔너리 요소 삭제하기 예제
>>> del a[1]
>>> a
{2: 'd', 'editor': 'PY'}
딕셔너리에서 key를 사용해서 Value 얻어오기
리스트, 튜플, 문자열은 요솟값을 얻고자 하면 인덱싱이나 슬라이싱이 가능했다.
하지만 딕셔너리는 단 한 가지 방법만 가능하다.
그 방법이란 key를 사용해서 value값을 얻어오는 방법이다.
key의 value를 얻어오기 위한 형식은 딕셔너리 변수 이름[key]이다.
다음의 예를 보자.
>>> a = {1 : 'A', 2 : 'B'}
>>> a[1]
'A'
>>> a[2]
'B'
a라는 변수에 {1 : 'A', 2 : 'B'} 딕셔너리를 대입시켰다. 리스트나 튜플의 경우라면 [] 안의 인덱스 두 번째 요솟값을 리턴해 줄 것이다.
하지만 딕셔너리는 key값 1에 해당하는 요솟값 'A'를 리턴한다.
다음의 예를 보면 쉽게 이해가 갈 듯싶다.
>>> a = {'A' : 1, 'B' : 2}
>>> a['A']
1
>>> a['B']
2
a라는 변수에 {'A' : 1, 'B' : 2} 딕셔너리를 대입시켰다. 위 예는 그 결괏값으로 a['A']은 1, a['B']는 2 값을 돌려준다.
딕셔너리 변수에서는 [ ]안의 숫자 'A'는 key값에 해당하는 요소 1을 돌려준다.
※ 딕셔너리의 key는 고유의 값(Unique value)이라는 기본 속성이 있다.
이런 이유로 하나의 key는 단 하나의 값만 가진다. 즉 중복되면 이전의 값은 무시된다.
다음 예를 보자.
>>> a = {1:'a', 1:'b', 1:'c'}
>>> a
{1: 'c'}
1이라는 key에 상응되는 값은 마지막에 입력된 'c'값 이외에는 무시되는 것을 확인할 수 있다.
<딕셔너리 관련 함수들>
keys 함수 : key 리스트 만들어주는 함수
>>> a = {'editor' : 'PY', 'date' : '04042020' , 'description' : 'Modify values'}
>>> a.keys()
dict_keys(['editor', 'date', 'description'])
반환 값으로 리스트가 필요하다면 다음의 list(a.keys()) 를 사용하면 된다.
>>> list(a.keys())
['editor', 'date', 'description']
for문을 이용해서 다음처럼 사용도 가능하다.
>>> for k in a.keys():
... print(k)
...
editor
date
description
values : value 리스트 만들어주는 함수
>>> a.values()
dict_values(['PY', '04042020', 'Modify values'])
items : 한 쌍의 key, value 얻어오는 함수
>>> a.items()
dict_items([('editor', 'PY'), ('date', '04042020'), ('description', 'Modify values')])
get : key의 value 얻어오는 함수
>>> a.get('editor')
'PY'
in : 해당 key가 딕셔너리 변수 안에 있는지 확인하는 함수
a 딕셔너리의 key 값 중에서 'editor'라는 key가 있으면 True, 없으면 False를 리턴한다.
예제는 'editor' key가 있으므로 True를 리턴한다.
>>> 'editor' in a
True
clear : key: value 쌍 지우는 함수
>>> a.clear()
>>> a
{}
이 블로그의 다른 글 읽기
'Integration & Python' 카테고리의 다른 글
파이썬 셀레니움 이미지 크롤링 예제 (0) | 2021.02.08 |
---|---|
Python을 이용한 네이버 홈쇼핑 키워드 크롤링 예제 (0) | 2021.01.26 |
파이썬 자료형 예제로 따라해보기 #1 (0) | 2020.04.09 |
파이썬의 자료형 - 숫자, 문자열 (0) | 2020.04.07 |
파이참 무료버전 간단한 설치 방법 (0) | 2020.03.27 |
댓글