파이썬 딕셔너리 설명: 키, 값, 함수

2021. 12. 1. 14:15·개발/Python

딕셔너리는 사전이라는 뜻이죠. 영한 사전을 생각해보겠습니다. 사전에서 Apple을 찾으면, 사과가 나올 것입니다. 여기서 Apple은 Key 이며, 사과는 Value에 해당합니다. 열쇠로 무언가를 열고 들어가면, 값을 얻게 되는 것이죠. 이처럼 키와 값으로 구성된 자료형을 파이썬에서는 딕셔너리라 합니다.

딕셔너리, 리스트, 튜플의 차이

앞서 리스트와 튜플에 대해 살펴봤는데요. 딕셔너리는 이 둘과 달리 순서에 따라 값에 접근하는 것이 아닌, Key를 사용합니다. 또한, 리스트는 대괄호 [], 튜플은 괄호 ()를 사용하는 반면, 딕셔너리는 중괄호 {}를 사용합니다.

딕셔너리 예시

아래는 딕셔너리의 한 예시입니다.

aboutMe = {
 'name': 'Hwi',
 'age' : 32,
 'job' : 'translator'
}

위와 같이 딕셔너리를 선언한 경우, 'name','age','job'이 키에 해당하며, 'Hwi',32,'translator'가 값에 해당합니다. 값에는 다음과 같이 접근할 수 있습니다.

aboutMe['name']
# 'Hwi'
aboutMe['age']
# 32
aboutMe['job']
# 'translator'

이처럼 딕셔너리에서는 키와 값이 할당된 변수 뒤에 ['Keys']와 같은 형식으로 Values에 접근할 수 있습니다.

딕셔너리와 Key

딕셔너리에서는 Key가 무척 중요한 역할을 합니다. Key가 없이는 값을 할당할 수 없고, 또 이에 접근할 수도 없기 때문인데요.

  • Key는 중복되어서는 안 됩니다. 중복될 경우, 다른 하나가 임의로 무시됩니다.
  • Key에 리스트나 딕셔너리를 사용할 수 없습니다. 그러나 숫자, 문자, 튜플은 사용할 수 있습니다. 이는 리스트나 딕셔너리가 재할당으로 변경될 수 있기 때문입니다.

딕셔너리 요소 추가 및 삭제

이제 딕셔너리에 몇 가지 사항을 추가하고 삭제해보겠습니다. 먼저, 추가입니다.

aboutMe = {
 'name': 'Hwi',
 'age' : 32,
 'job' : 'translator'
}

aboutMe['job2'] = 'blogger'

aboutMe
# aboutMe = {'name': 'Hwi', 'age' : 32, 'job' : 'translator', 'job2' : 'blogger'}

이제 del함수를 사용하여 job을 삭제해보도록 하겠습니다.

aboutMe = {
 'name': 'Hwi',
 'age' : 32,
 'job' : 'translator',
 'job2' : 'blogger'
}

del aboutMe['job']

aboutMe
# aboutMe = {'name': 'Hwi', 'age' : 32, 'job2' : 'blogger'}

딕셔너리 기본 함수

마지막으로 딕셔너리에서 사용할 수 있는 기본적인 함수들에 대해 알아보도록 하겠습니다.

Keys 리스트 출력

keys()를 사용하여 딕셔너리의 키 값을 담은 객체를 얻을 수 있습니다.

aboutMe = {
 'name': 'Hwi',
 'age' : 32,
 'job' : 'translator'
}

aboutMe.keys()
# dict_keys['name', 'age', 'job']

앞에 list 함수를 사용하면 리스트로 받을 수 있습니다.

list(aboutMe.keys())
# ['name', 'age', 'job']

Keys 나열

간단히 Keys를 나열하여 확인하고자 한다면 for ... in 구문을 활용할 수 있습니다.

for keys in aboutMe.keys():
    list(keys)

# name
# age
# job

Value 리스트 출력

값들을 리스트로 만들려면 values() 함수를 사용할 수 있습니다.

aboutMe.values()
# dict_values(['Hwi', 32, 'translator'])

앞에 list() 함수를 사용하면 이를 리스트로 받을 수 있습니다.

list(aboutMe.values())
# ['Hwi', 32, 'translator']

Key가 딕셔너리 안에 있는지 확인

특정 Key가 딕셔너리에 존재하는지를 확인하려면 .. in 구문을 활용하면 됩니다.

'name' in aboutMe
# True
'phone' in aboutMe
# False

Keys, Values 쌍 리스트 출력

.items() 함수를 사용하면 키와 값이 dic_items 객체로 리턴됩니다.

aboutMe.items()
# dict_items([('name', 'Hwi'), ('age', 32), ('job', 'translator')])

Key로 Values 얻기

앞서 aboutMe['name']과 같은 형식으로 키 값에 접근했는데요. 다음과 같이 get 함수를 사용할 수도 있습니다.

aboutMe.get('name')
# 'Hwi'

aboutMe['name']
# 'Hwi'

aboutMe.get('name') == aboutMe['name']
# True

두 방식의 차이점은 존재하지 않는 키를 호출할 때 입니다.

aboutMe.get('phone')
# None

aboutMe['phone']
# KeyError: 'phone'

get() 함수는 존재하지 않는 키를 호출할 경우 None이 리턴되며, 대괄호 방식은 에러가 발생합니다.

 

get() 함수를 사용하면 이러한 경우에 특정 디폴트 값이 리턴되도록 할 수 있습니다.

aboutMe.get('phone', 'This key doesn\'t exist.')
# 'This key doesn't exist.

딕셔너리 Keys, Values 모두 삭제

clear()를 사용하여 딕셔너리의 모든 요소를 삭제할 수 있습니다.

aboutMe.clear()
aboutMe
# {}

 

이상으로 딕셔너리의 기본 개념에 대해 살펴봤습니다.

'개발 > Python' 카테고리의 다른 글

파이썬 집합 자료형 설명  (0) 2021.12.02
파이썬 튜플 설명  (0) 2021.12.01
파이썬 리스트 설명: 인덱싱, 슬라이싱, 함수  (0) 2021.11.30
'개발/Python' 카테고리의 다른 글
  • 파이썬 변수 설명
  • 파이썬 집합 자료형 설명
  • 파이썬 튜플 설명
  • 파이썬 리스트 설명: 인덱싱, 슬라이싱, 함수
휘Hwi
휘Hwi
여행, 사진, 개발, 책 이야기를 기록하는 여행자 휘의 블로그 𓂍
  • 휘Hwi
    휘: 끝나지 않은 이야기
    휘Hwi
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 기록
        • 일상 에세이
        • 인사이트
        • 투자와 재테크
        • 코인 이야기
        • 아카이빙
        • 집무실 레터
        • 사랑에 대하여
        • 번역 이야기(完)
        • 프리랜서 일지(完)
      • 여행
        • 🌎 세계 여행기 S1 (完)
        • 🌊 삼삼한 여행기 (完)
        • 🚶 온더로드
        • 🇯🇵 일본
        • 🏝️ 발리
        • 🇻🇳 베트남
        • 🇱🇰 스리랑카
        • 🇮🇳 인도
        • 🇹🇭 태국
        • 🇸🇬 싱가포르
        • 🇦🇺 호주
        • 🇭🇰 홍콩
        • 🇰🇷 한국
        • 🍚 여행자의 한 끼
        • ℹ️ 여행 정보
      • 사진
        • 사진가
        • 사진 이론과 생각
        • 사진 관련 정보
      • 영상
        • 파이널컷 모션 공부
        • 고프로 GoPro
        • 영상 관련 정보
      • 책
        • 책 읽고 쓰기
      • 개발 N
        • 티스토리
        • Internet
        • HTML
        • CSS
        • JavaScript
        • Typescript
        • React
        • Node.js
        • Express
        • NestJS
        • Python
        • Django
        • MySQL
        • MongoDB
        • AWS
        • Deployment
        • Terminal
        • Git N
        • Glossaries
        • Articles
        • Projects
        • TIL;
      • 미분류
  • 인기 글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
휘Hwi
파이썬 딕셔너리 설명: 키, 값, 함수
상단으로

티스토리툴바