본문으로 바로가기

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