이번 포스팅에선 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) 자료형에 대해 학습해 보도록 하겠습니다.
======================================================================
해당 포스팅에 대해 내용 추가가 필요하다고 생각되면 기존 포스팅 내용에 다른 내용이 추가될 수 있습니다.
개인적으로 공부하며 정리한 내용이기에 오타나 틀린 부분이 있을 수 있습니다.
이에 대해 지적해 주시면 감사하겠습니다.
'백엔드(Back-End) > Python' 카테고리의 다른 글
[Python] - 제어문 - 조건문(if, elif) 여러 가지 연산자 (0) | 2022.08.17 |
---|---|
[Python] - 자료형 - 집합(Set), Boolean (0) | 2022.08.15 |
[Python] - 자료형 - 튜플(Tuple) (0) | 2022.08.15 |
[Python] - 자료형 - 리스트(List) (0) | 2022.08.15 |
[Python] - 자료형 - 문자열(String) (0) | 2022.08.12 |
댓글