[Python] 파이썬 자료형 : 딕셔너리

2021. 12. 27. 17:41· 프로그래밍언어/Python
목차
  1. 딕셔너리(Dictionary)

딕셔너리(Dictionary)

대응 관계를 나타내는 자료형을 연관배열(Associative array) 또는 해시(Hash)라고 한다. 파이썬에서 이런 자료형을 딕셔너리라고 부른다. 딕셔너리는 'Key'와 'Value'를 한쌍으로 갖는다. 또한 딕셔너리는 리스트나 튜플처럼 순차적으로(sequental) 해당 요솟값을 구하지 않고 Key를 통해서 Value을 얻는다.

 

딕셔너리 사용법

딕셔너리명={key1:value1, key2:value2, key3:value3, ··· ···}

key 값으로는 변하지 않는 값을 사용하기 때문에 리스트를 사용 할 수 없고 중복된 값을 사용 할 수 없다.

value값은 변하는 값과 변하지 않는 값 모두를 사용 할 수 있다.

dic1={'name':'ksm', 'birth':'0101', 'phone':'010-123-45678'}
dic2={1:'hi'}
dic3={'a':[1,2,3]}

# key값이 중복되면 마지막 하나를 제외한 나머지 것들이 무시된다.
a = {1:'a', 1:'b'}
a
# {1: 'b'} 

# key값으로는 리스트는 사용 할 수 없다.(변하는 값 사용 불가)
a = {[1,2]:'hi'}
# TypeError: unhashable type: 'list'

1. 딕셔너리 쌍 추가하기

변수명[key]=value

a={1:'sm'}
a[2]='jyp'
a['3']='yg'
a
# {1: 'sm', 2: 'jyp', '3': 'yg'}

2. 딕셔너리 요소(key:value 쌍) 삭제하기

del 변수명[key]

a={1: 'sm', 2: 'jyp', '3': 'yg'}
del a['3']
a
# {1: 'sm', 2: 'jyp'}

# 존재하지 않는 key값을 삭제하려고 할 경우 오류를 발생시킨다.
del a[4]
a
# KeyError: 4

3. 딕셔너리 값 얻어오기 (key값으로 value값 얻기)

변수명[key값]

grade = {'kim':10, 'park':41, 'lee':99}
grade['kim']
# 10

a = {1:'apple', 2:'banana'}
a[1]
# apple

# 존재하지 않는 key 값을 가져오려고 할 경우 키오류를 발생시킨다.
a[3]
# KeyError: 3

 

딕셔너리 내장함수

요소 값 리스트 만들기(keys, values, items)

a = {'name':'ksm', 'birth':'0222', 'phone':'01012345678'}
a.keys()
# dict_keys(['name', 'birth', 'phone']) 
# dict_keys의 객체를 돌려주기 때문에 리스트 고유의 함수는 수행 할 수 없다.
list(a.keys())
# ['name', 'birth', 'phone']
# Key값을 list로 받고싶으면 list()와 함께 사용하면 된다.

a.values()
# dict_values(['ksm', '0222', '01012345678']) 
# dict_values의 객체를 돌려주기 때문에 리스트 고유의 함수는 수행 할 수 없다.
list(a.values())
# ['ksm', '0222', '01012345678'] 
# value값을 list로 받고싶으면 list()와 함께 사용하면 된다.

a.items()
# dict_items([('name', 'ksm'), ('birth', '0222'), ('phone', '01012345678')])
# dict_items 객체를 돌려준다. items는 key와 value의 쌍을 튜플로 묶은 값을 돌려준다.
list(a.items())
# [('name', 'ksm'), ('birth', '0222'), ('phone', '01012345678')]

요소(key:value 쌍)들 모두 지우기(pop)

## pop(삭제하고 싶은 요소의 키 값) 괄호안에 키캆을 써주면 해당하는 요소를 돌려주고 삭제해준다.

a = {'name':'ksm', 'birth':'0222', 'phone':'01012345678'}
a.pop('birth')
# '0222'를 돌려주고 해당 요소를 삭제한다.
a
# {'name': 'ksm', 'phone': '01012345678'}

a.pop()
# pop()함수를 딕셔너리에서 키값없이 사용 하면 오류가 발생한다. 순서가 없기 때문이다.

 

요소(key:value 쌍)들 모두 지우기(clear)

a = {'name':'ksm', 'birth':'0222', 'phone':'01012345678'}
a.clear()
a
# {} 
# clear함수는 딕셔너리 안의 모든 요소를 삭제한다.

key값으로 value값 얻기(get)

a = {'name':'ksm', 'birth':'0222', 'phone':'01012345678'}
a.get('name')
# 'ksm'
# 변수명.get(key)는 key에 대응하는 value를 돌려준다. a['name']과 동일한 결괏값을 돌려받는다.
a.get('email')
# 존재하지 않는 key값을 가져오려고 하면 None을 돌려주고 거짓을 뜻한다. 키오류가 발생하진 않는다.

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

a = {'name':'ksm', 'birth':'0222', 'phone':'01012345678'}
'name' in a
# True
'email' in a
# False

'프로그래밍언어 > Python' 카테고리의 다른 글

[Python] 파이썬 자료형 : 불  (0) 2021.12.27
[Python] 파이썬 자료형 : 집합  (0) 2021.12.27
[Python] 파이썬 자료형 : 튜플  (0) 2021.02.17
[Python] 파이썬 자료형 : 리스트  (0) 2021.02.14
[Python] 파이썬 자료형 : 문자열 포매팅(Formatting)  (0) 2021.02.05
  1. 딕셔너리(Dictionary)
'프로그래밍언어/Python' 카테고리의 다른 글
  • [Python] 파이썬 자료형 : 불
  • [Python] 파이썬 자료형 : 집합
  • [Python] 파이썬 자료형 : 튜플
  • [Python] 파이썬 자료형 : 리스트
개발원슝이
개발원슝이
꾸준히 개발공부를 합니다.
개발원슝이
꾸준히 개발슝이
개발원슝이
전체
오늘
어제
  • ALL (236)
    • 프로젝트 (34)
      • clone coding (19)
      • mini project (5)
      • Team project(with KIC) (10)
    • 문제 (37)
      • 백준 (7)
      • 프로그래머스 (14)
      • 정보처리기사실기 (16)
    • 설치 (9)
    • 개발 기초 (12)
    • 프로그래밍언어 (120)
      • HTML (16)
      • CSS (17)
      • JavaScript (18)
      • JAVA (13)
      • JSP (10)
      • Python (22)
      • C언어 (24)
    • 프레임워크 (6)
      • Spring (3)
      • Django (3)
    • DB (2)
      • MySQL (2)
    • AWS (1)
    • 오류 (2)
    • 이것저것 (6)
    • 전공자 개발 (2)
    • 비전공자 개발 (5)

블로그 메뉴

  • 네이버블로그(강의노트)
  • GitHub
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 홍정모교수님
  • 코딩테스트
  • 홍정모의 따라하며 배우는 C언어
  • 생활코딩
  • 백준
  • 점프 투 파이썬
  • 파이썬공부
  • 따배씨
  • javascript
  • 인프런

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
개발원슝이
[Python] 파이썬 자료형 : 딕셔너리
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.