본문으로 바로가기

파이썬 딕셔너리(dict) 정리

category python 2020. 5. 22. 14:30
반응형

딕셔너리란?

딕셔너리란 파이썬의 하나의 자료형.

  • key 와 value 를 갖는 한쌍의 구조다.
  • key 중복을 허용하지 않는다.

예를 들어 

{ 이름 : 홍길동 }

이런 관계를 갖는 구조다.

이를 딕셔너리(자료형) 라고한다.

동일한 구조는 JSON의 구조를 띄고 있다.

 

딕셔너리는 어떻게 만들까?
딕셔너리 추가, 삭제 
딕셔너리 key 를 사용해 value 얻기
key 중복 허용 하지 않음
딕셔너리 key 가 있는지 확인
반복문을 이용한 딕셔너리 key , value 구하기
딕셔너리 관련 함수

  • 딕셔너리는 어떻게 만들까?
# key : value
dic = {'name':'홍길동''phone':'010-0000-0000''birth':'1111'}
print(dic)
# >>> {'name': '홍길동', 'phone': '010-0000-0000', 'birth': '1111'}
 
# 리스트, 튜플, 딕셔너리를 사용
dic = {'name': ['hwang'], 'phone':('010-0000-0000'), 'birth': {'1111'}}
print(dic)
# >>> {'name': ['hwang'], 'phone': '010-0000-0000', 'birth': {'1111'}}

  • 딕셔너리 추가, 삭제 
# 딕셔너리 추가
= { 'name' :'홍길동'}
a['phone'= '010-0000-0000'
print(a)
# >>> {'name': '홍길동', 'phone': '010-0000-0000'}
 
# key 'phone' 삭제
del a['phone']
print(a)
# >>> {'name': '홍길동'}
 

  • 딕셔너리 key 를 사용해 value 얻기

딕셔너리는  key를 이용해 value를 얻게 되어있다.

# key를 이용한 value 얻기
= { 'name' :'홍길동''phone''010-0000-0000'}
print(a['phone'])
# >>> 010-0000-0000
 

  • key 중복 허용 하지 않음
# key 중복 허용 안함.
= { 'name' :'홍길동''name' :'홍길동''phone''010-0000-0000'}
print(a)
# >>> {'name': '홍길동', 'phone': '010-0000-0000'}
 

  • 딕셔너리 key 가 있는지 확인
# 딕셔너리 에 key 가 있는지 확인
= { 'name' :'홍길동''name' :'홍길동''phone''010-0000-0000'}
print('name' in a)
print('test' in a)
# >>> True
# >>> False
 

  • 반복문을 이용한 딕셔너리 key , value 구하기
# 반복문을 이용한 딕셔너리 key , value 구하기
= { 'name' :'홍길동''name' :'홍길동''phone''010-0000-0000'}
 
# key
for key in a:
    print(key)
 
# value
for key in a:
    print(a[key])

  • 딕셔너리 관련 함수
################################################################
# clear [ 사전에서 모든 항목 제거 ]
= { 'name' :'홍길동''name' :'홍길동''phone''010-0000-0000'}
a.clear()
print(a)
# >>> {}
################################################################
# copy [ 딕셔너리 복사 ]
= { 'name' :'홍길동''name' :'홍길동''phone''010-0000-0000'}
= a.copy()
print(a)
print(b)
# >>> {'name': '홍길동', 'phone': '010-0000-0000'}
# >>> {'name': '홍길동', 'phone': '010-0000-0000'}
################################################################
# get [key 값으로  value 얻기]
= { 'name' :'홍길동''name' :'홍길동''phone''010-0000-0000'}
 
print(a.get('name'))
# >>> 홍길동
 
# key가 없을시 None 반환
print(a.get('birth'))
# >>> None
 
# key 가 없을시 1111 반환
# key 가 있을시 해당 키의 value 반환
print(a.get('birth','1111'))
# >>> 1111
################################################################
# keys [ 딕셔너리 키값 반환 ]
person = {'name''Phill''age'22'salary'3500.0}
 
# dict_keys 객체로 반환한다.
print(person.keys())
# >>> dict_keys(['name', 'age', 'salary'])
 
# 리스트로 변환
print(list(person.keys()))
# >>> ['name', 'age', 'salary']
 
# 튜플로 변환
print(tuple(person.keys()))
# >>> ('name', 'age', 'salary')
################################################################
# # update
# 1. key 있다면 key의 값을 새값으로 업데이트
# 2. key 없다면 추가
 
= {1"one"2"three"}
= {2"two"}
 
# key가 있을시
a.update(b)
print(a)
# >>> {1: 'one', 2: 'two'}
 
# key가 없을시
= {3"three"}
a.update(b)
print(a)
# >>> {1: 'one', 2: 'two', 3: 'three'}
################################################################
# values [key 의 values 값 얻기]
sales = { 'apple'2'orange'3'grapes'4 }
 
# dict_values 반환
print(sales.values())
# >>> dict_values([2, 3, 4])
 
# 리스트 변환
print( list(sales.values()) )
# >>> [2, 3, 4]
 
# 튜플 변환
print( tuple(sales.values()) )
# >>> (2, 3, 4)
 
################################################################
 

 

반응형

'python' 카테고리의 다른 글

파이썬 제어문(if) 정리  (0) 2020.05.25
파이썬 집합(set) 자료형 정리  (0) 2020.05.23
파이썬 튜플(tuple) 정리  (0) 2020.05.22
파이썬 리스트(list) 관련 함수 정리  (0) 2020.05.21
파이썬 리스트(list) 자료형  (0) 2020.05.21

댓글을 달아 주세요