본문 바로가기
백엔드(Back-End)/Python

[Python] - 자료형 - 딕셔너리(Dictionary)

by TwoJun 2022. 8. 15.

[Programming Language ] - Python

 

이번 포스팅에선 Python의 자료형 중 하나인 딕셔너리(Dictionary)에 대해 알아보도록 하겠습니다.

 

 

1. 수 - 정수형(Integer), 실수형(Float), 복소수(Complex number)

2. 문자열(String)

3. Boolean 타입 (True, False)

4. 리스트(List)

5. 튜플(Tuple)

6. 딕셔너리(Dictionary)

7. 집합(Set)

 

 

 

1. 딕셔너리(Dictionary)의 정의와 특징

- 딕셔너리(Dictionary) 자료형은 Key와 Value를 한 쌍으로 가지고 있고, 서로의 연관 관계를 나타낼 수 있는 자료형입니다. 따라서 딕셔너리는 연관 배열(Associative array)이라고 불리기도 합니다.

 

1-1.

기본적인 구조(문법)

- Dictionary_name = {Key 1: Value1, Key2 : Value 2, ... , Key n: value n}

- 중괄호를 통해 요소를 저장하고 여러 쌍 요소를 ,(콤마)로 연결합니다.

# 딕셔너리의 기본적인 형태 
# Dictionany_name = {key1 : value1, key2: value, key n : value n ...}
dict1 = {'name': "wonjun", 'age': 25, 'job': 'student'}
print(dict1)     # {'name': "wonjun", 'age': 25, 'job': 'student'}

 

 

1-2.

딕셔너리 내부의 Value 값을 반환

- 문법 : Dictionary_name[key]

# 딕셔너리 value값 확인하기
dict1 = {'name' : "wonjun", 'age' : 25, 'job': 'student'}
print(dict1['age'])    #  25

 

 

1-3. 

딕셔너리 쌍 추가하기 

- 문법 : Dictionary_name[key] = value

# 딕셔너리 쌍 추가하기 
dict1 = {'num1': 1}
print(dict1)      # {'num1': 1}

# 새로운 key: value 쌍 추가
dict1['num2'] = 2
print(dict1)    # {'num1': 1, 'num2': 2}

 

 

1-4.

딕셔너리 요소 삭제하기

- 문법 : del Dictionary_name[삭제할 쌍의 key]

# 딕셔너리 요소 삭제하기 
dict1 = {'num1': 1, 'num2': 2}
del dict1['num1']
print(dict1)     # {'num2': 2}

 

 

1-5.

- key 값은 중복으로 선언할 수 없지만 value 값은 중복 선언이 가능합니다.

- key 값이 중복되더라도 오류는 발생하지 않으나 마지막으로 남은 쌍 요소(Key: Value)만 딕셔너리 내부에 남게 됩니다.

# key의 값은 중복을 허용하지 않음
dict2  = {'num1': 1, 'num1': 2}
print(dict2)     # {'num1': 2}

# value의 값은 중복을 허용함
dict2  = {'num1': 2, 'num2': 2}
print(dict2)     # {'num1': 2, 'num2': 2}

 

 

 

 

2. 딕셔너리(Dictionary)의 여러 가지 함수

2-1.

- Dictionary_name.keys()

- 딕셔너리 내부의 key 값들만 따로 추출하여 리스트(List)의 형태로 저장하여 반환하는 함수

# Key 리스트 생성하기
kakao_friends_dict = {1: "muzi", 2: "neo", 3: "apeach"}
print(kakao_friends_dict.keys())      # dict_keys([1, 2, 3])

# 반복문의 형태로 key값 나열
for count in kakao_friends_dict.keys():
    print(count)
    
''' 
1
2
3
'''

 

 

2-2.

- Dictionary_name.values()

- 딕셔너리 내부의 value 값들만 따로 추출하여 리스트의 형태로 저장하여 반환하는 함수

# value 리스트 생성하기
kakao_friends_dict = {1: "muzi", 2: "neo", 3: "apeach"}
print(kakao_friends_dict.values())    # dict_values(['muzi', 'neo', 'apeach'])

# 반복문의 형태로 value값 나열
for count in kakao_friends_dict.values():
    print(count)

'''
muzi
neo
apeach
'''

 

 

2-3.

- Dictionary_name.items()

- 딕셔너리 내부의 key: value 각각의 쌍들을 튜플에 담고, 리스트의 형태로 저장하여 반환하는 함수

# items() 함수로 각 쌍(요소)들을 튜플의 형태로 생성
kakao_friends_dict = {1: "muzi", 2: "neo", 3: "apeach"}
print(kakao_friends_dict.items())    # dict_items([(1, 'muzi'), (2, 'neo'), (3, 'apeach')])

# 반복문의 형태로 나열
for count in kakao_friends_dict.items():
    print(count)
'''
(1, 'muzi')
(2, 'neo')
(3, 'apeach')
'''

 

 

2-4.

- Dictionary_name.clear()

- 딕셔너리 내부의 모든 요소를 삭제하는 함수

# 딕셔너리의 모든 요소 삭제
kakao_friends_dict = {1: "muzi", 2: "neo", 3: "apeach"} 
kakao_friends_dict.clear()
print(kakao_friends_dict)     # {}

 

 

2-5.

- Dictionary_name.get('key')

- 딕셔너리 내부의 key 값으로 value 값을 반환하는 함수

# get() 함수 : key 값을 통해 value 값을 반환하는 함수 
kakao_friends_dict = {1: "muzi", 2: "neo", 3: "apeach"} 
print(kakao_friends_dict.get(1))    # muzi

 

 

- 만약 key 값이 존재하지 않는다면, 기본적으로 None을 반환합니다.

# 만약 존재하지 않는 key 값을 탐색하고자 한다면 None 반환
kakao_friends_dict = {1: "muzi", 2: "neo", 3: "apeach"} 
print(kakao_friends_dict.get(4))     # None

 

 

- 만약 key 값이 존재하지 않는다면, 다음과 같이 다른 값을 반환할 수 있도록 할 수 있습니다.

- 문법 : Dictionary_name.get("존재하지 않는 key", "반환할 데이터")

# 존재하지 않는 key 값을 통해 다른 값 반환 가능
kakao_friends_dict = {1: "muzi", 2: "neo", 3: "apeach"} 
print(kakao_friends_dict.get(4, "No keys and values"))    # No keys and values

 

 

2-6.

"특정 key 값 in  Dictionary_name

- 특정한 key 값이 딕셔너리 내부에 존재하는지에 따라 Boolean 형태의 데이터를 반환

- key 값이 존재한다면 True, 존재하지 않는다면 False를 반환하게 됩니다.

# 특정한 key 값이 존재하는지 확인
kakao_friends_dict = {1: "muzi", 2: "neo", 3: "apeach"} 

# 반복문을 통해 순차적으로 key 값이 존재하는지 확인
count = 0
for count in range(1, 5):
    print(count in kakao_friends_dict)   # key 값 1, 2, 3은 True, Key 값  4는 False를 반환

'''
True
True
True
False
'''

 

 

 

 

 

이번 포스팅에선 Python의 자료형 중 하나인 딕셔너리(Dictionary), 이에 대한  특징들과 딕셔너리에서 요소들을 관리하기 위해  자주 사용되는 함수에 대해 살펴보았습니다.

 

다음 포스팅에선 집합(Set) 자료형에 대해 학습해 보도록 하겠습니다.

 

======================================================================

해당 포스팅에 대해 내용 추가가 필요하다고 생각되면 기존 포스팅 내용에 다른 내용이 추가될 수 있습니다.

개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있습니다.

이에 대해 지적해 주시면 감사하겠습니다.

 

댓글