본문 바로가기

파이썬 기초

02- 5 딕셔너리 자료형

딕셔너리는 어떻게 만들까?

 

dic = {'name':'pey','phone':01155554444', 'birth':'1118' }

위에서 Key는 각각 name, phone, birth 이고, 각각의 Key에 해당하는 Value 는'pey', '01155554444','1118' 이 된다. 

 

a={1:'hi'}

Key로 정수 값1, Value로 문자열 'hi'를 사용한 예이다.

 

a = { 'a':[1,2,3]}

Value 에 리스트도 넣을 수 있다.

 

 

 

딕셔너리 쌍 추가, 삭제하기 

 

1.딕셔너리 쌍 추가하기

a = {1:'a'}
a[2]='b'   {2:'b'}  쌍 추가
a
{1:'a',2:'b'}
a['name'] = 'pey'
a
{1: 'a', 2: 'b', 'name': 'pey'}
a[3]=[1,2,3]
a
'a', 2: 'b', 'name': 'pey', 3: [1, 2, 3]}

Key는 3, Value는 [1,2,3]을 가지는 항상이 또 추가 되었다.

 

2. 딕셔너리 요소 삭제하기

 

del a[1]
a
{2: 'b', 'name': 'pey', 3: [1, 2, 3]}

딕셔너리 요소를 지우는 방법을 보여준다. del 함수를 사용해서 ded a[Key]처럼 입력하면 지정한 Key에 해당하는

{key:value}쌍이 삭제된다.

 

 - 딕셔너리를 사용하는 방법

 

딕셔너리에서 Key 사용해 Value 얻기

grade = {'pey':10,'julliet':99}
grade['pey']
10
grade['julliet']
99

 

a = {1:'a',2:'b'}
a[1]        Key가 1인 요소의 Value를 반환
'a'
a[2]       Key가 2인 요소의 Value를 반환
'b'

이번에는 a라는 변수에 앞의 예에서 사용한 딕셔너리의 Key와 Value를 뒤집어 놓은 딕셔너리를 대입해 보자.

a = {'a':1, 'b':2}
a['a']
1
a['b']
2

 

딕셔너리 만들 대 주의할 사항

a={1:'a',1:'b'}
a
{1: 'b'}

Key가 중복되었을 때 1개를 제외한 나머지 Key:Value 값이 모두 무시된다.

 

- 딕셔너리 관련 함수

 

Key 리스트 만들기 (keys)

a = { 'name':'pey', 'phone':'0119993323', 'birth':'1118' }
a.keys()
dict_keys(['name', 'phone', 'birth'])

a.keys()는 딕셔너리의 a의 key만을 모아서 dick_keys 객체를 돌려준다.

 

for k in a.keys():print(k)

name
phone
birth
list(a.keys())
['name','phone','birth']

dict_keys 객체를 리스트로 변환 해보았다.

 

Value 리스트 만들기 (values)

 

a.values()
ict_values(['pey', '0119993323', '1118'])

Key를 얻는 것과 마찬가지 방법으로 Value만 얻고 싶다면 values 함수를 사용

 

Key, Value 쌍 얻기 (items)

 

a.items()
dict_items([('name', 'pey'), ('phone', '0119993323'), ('birth', '1118')])

 

Key:Value 쌍 모두 지우기 ( clear )

a.clear()
a
{}

Key로 Value 얻기 ( get )

 

a = { 'name':'pey', 'phone':'0119993323', 'birth':'1118'}
a.get('name')
'pey'
a.get('phone')
'0119993323'

딕셔너리 안에 찾으려는 Key 값이 없을 경우 미리 정해 둔 디폴트 값을 대신 가져오게 하고 싶을 때에는 get(x,'디폴트값')을 사용하면 편리하다.

 

a.get('foo','bar')
'bar'

a 딕셔너리에는 'foo'에 해당하는 값이 따로 없다. 따라서 디폴트 값인 'bar'를 돌려준다.

 

해당 Key가 딕셔너리 안에 있는지 조사하기 (in)

a = { 'name':'pey', 'phone':'0119993323', 'birth':'1118'}
'name'in a 
True
'email' in a
False

 

참 또는 거짓을 돌려준다.

 

 

출처 : 점프 투 파이썬

'파이썬 기초' 카테고리의 다른 글

02-7 불 자료형  (0) 2021.03.13
02-6 집합 자료형  (0) 2021.03.13
02-4 튜플 자료형  (0) 2021.03.13
02-3 리스트 자료형  (0) 2021.03.13
02-2 문자열 연산하기 ~ 포매팅 - 3  (0) 2021.03.09