본문 바로가기
Integration & Python

파이썬 자료형 예제로 따라해보기 #2

by 누워서 코딩 2020. 4. 14.

딕셔너리 자료형 따라 하기

 

딕셔너리(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

{}

이 블로그의 다른 글 읽기

 

파이썬 자료형 예제로 따라해보기 #1

리스트 인덱싱 예제 리스트로 문자열처럼 인덱싱과 슬라이싱이 가능하다. 예제들을 한번 따라해보자. >>> a = [30, 20, 500] >>> a [30, 20, 500] >>> a[0] + a[2] 530 >>> a[-1] 500 >>> a = [100,200,300,['a','b','c']] >>> a[-1

freernd.tistory.com

댓글