이번 시간에는 파이썬 딕셔너리에 대해서 알아보도록 하겠습니다!
딕셔너리에 관한 양이 많다는 생각이 들어 다른 분의 블로그를 참고하여 정리해보도록 하겠습니다.
파이썬에서 딕셔너리는 각 키에 대응하는 값을 저장하는 구조입니다.
키(key)와 값(value)은 쌍으로 구성되어 있어, 키를 사용하여 값에 쉽게 접근할 수 있습니다.
딕셔너리(Dictionary)란?
딕셔너리는 키와 값의 쌍으로 구성된 자료구조입니다.
키는 유일해야 하며
값은 중복이 허용됩니다.
딕셔너리는 중괄호( {} )로 표현하며, 키와 값은 콜론(:)으로 구분합니다.
딕셔너리는 리스트와는 다르게 순서가 없습니다.
Python 3.6부터 딕셔너리를 구현하는 내부 구조 변경으로 인해, 입력 순서를 저장합니다.
또한, 튜플과 다르게 변경이 가능합니다.
딕셔너리와 리스트의 차이점
파이썬에서 딕셔너리와 리스트는 둘 다 여러 개의 값을 저장할 수 있는 자료구조이지만, 사용방법과 특징이 다릅니다.
- 리스트
1. 리스트는 순서가 있는 자료구조입니다.
2. 리스트에서 요소에 접근할 때는 순서(index)를 사용합니다.
3. 리스트는 많은 양의 데이터를 효율적으로 저장하기에 적합하지 않습니다.
- 딕셔너리
1. 딕셔너리는 키와 값의 쌍으로 구성된 자료 구조로 순서가 없습니다.
2. 딕셔너리에서 요소에 접근할 때는 키를 사용합니다.
3. 딕셔너리는 많은 양의 데이터를 효율적으로 저장하기에 적합합니다.
딕셔너리 생성 방법
괄호 사용 방법
# 예시1
person = {'name': 'Park', 'age': 30, 'city':'Seoul'}
# 예시2
numbers = {1:'one',2:'two',3:'three'}
가장 기본적인 생성 방법으로 {} 괄호를 이용해 딕셔너리를 생성하는 방법입니다.
dict() 함수 사용 방법
파이썬 dict()함수는 딕셔너리를 생성하는 함수입니다.
person = dict(name='John', age=30, city='Seoul')
print(person)
# 출력 = {'name':'John', 'age':30, 'city':'Seoul'}
위의 코드는 키와 값의 쌍으로 구성된 딕셔너리를 생성하는 예제입니다.
zip(), dict()함수 사용 방법
zip()함수는 여러 개의 리스트를 같은 위치에 있는 요소끼리 묶어서 튜플의 리스트를 생성하는 함수입니다.
아래의 과정은 keys, valuse 리스트의 각 요소를 zip()함수를 이용해 요소끼리 묶고 생성된 튜플의 리스트를
dict() 함수를 통해 딕셔너리로 변환하는 과정입니다.
keys = ['name','age','city']
values = ['John', 30, 'Seoul']
person = dict(zip(keys,values))
print(person)
# 결과 = {'name':'John','age':30,'city':'Seoul'}

딕셔너리에 요소 추가하기
파이썬 딕셔너리에 새로운 요소를 추가할 때에는 아래 코드와 같이 "딕셔너리 이름[key] = value"를 통해 새로운 요소를 추가할 수 있습니다.
person = {'name':'John','age':30,'city':'Seoul'}
person['gender'] = 'Male'
print(person)
# 결과 = {'name':'John','age':30,'city':'Seoul','gender':'Male'}
딕셔너리 요소 접근하기
key를 이용하는 방법
파이썬 딕셔너리에서 키를 사용하여 값에 접근하는 방법은 아래 코드와 같이 "딕셔너리 이름[key]"를 통해 요소에 접근할 수 있습니다.
person = {'name':'John','age':30,'city':'Seoul'}
print(person['name'])
# 결과 = 'John'
get() 메서드를 이용하는 방법
get() 메서드를 사용하여 파이썬 딕셔너리에서 값에 접근할 수 있습니다.
get() 메소드는 요소가 없을 경우 None을 반환합니다. 아래 코드에서 gender라는 요소가 없어 None을 반환합니다.
person = {'name':'John','age':30,'city':'Seoul'}
print(person.get('gender'))
# 결과 = None
딕셔너리 요소 제거
pop() 메서드를 이용하는 방법
pop() 메서드를 사용하여 파이썬 딕셔너리에서 요소를 제거할 수 있습니다.
pop() 메서드는 제거된 요소의 값을 반환합니다 .
person = {'name':'John','age':30,'city':'Seoul'}
person.pop('age')
print(person)
# 결과 = {'name':'John','city':'Seoul'}
del 구문을 이용하는 방법
del 구문을 사용하여 파이썬 딕셔너리에서 요소를 제거할 수 있습니다. 제거 방법은 아래 코드와 같이
"del 딕셔너리 이름[key]"를 통해 제거할 수 있습니다.
person = {'name':'John','age':30,'city':'Seoul'}
del person['age']
print(person)
# 결과 = {'name':'John','city':'Seoul'}
clear() 메서드를 사용하는 방법
clear() 메서드를 사용하여 파이썬 딕셔너리에서 모든 요소를 제거할수 있습니다.
person = {'name':'John','age':30,'city':'Seoul
person.clear()
print(person)
# 결과 = {}
딕셔너리 메서드
딕셔너리 키를 가져오는 메서드
keys() 메소드를 사용하여 파이썬 딕셔너리의 키만을 가져올 수 있습니다.
person = {'name':'John','age':30,'city':'Seoul'}
print(person.keys())
# 결과 = dict_keys(['name','age','city'])
딕셔너리의 복사본을 생성하는 메서드
copy() 메소드를 사용하여 파이썬 딕셔너리의 복사본을 생성할 수 있습니다.
person = {'name':'John','age':30,'city':'Seoul'}
person_copy = person.copy()
print(person_copy)
# 결과 = {'name':'John','age':30,'city':'Seoul'}
딕셔너리의 응용 사용법
중첩 딕셔너리
파이썬 딕셔너리에서 딕셔너리를 다중으로 중첩할 수 있습니다.
person = {'name':'John','age':30,'address':{'street':'yulha-ro','city':'Seoul'}}
print(person)
# 결과 = {'name':'John','age':30,'address':{'street':'yulha-ro','city':'Seoul'}}
반복문을 이용한 딕셔너리 키와 값 동시 처리
반복문(for)과 파이썬 딕셔너리를 사용하여, 딕셔너리의 키와 값을 동시에 처리할 수 있습니다.
person = {'name':'John','age':30,'city':'Seoul'}
for key,value in person.items():
print(key,value)
# 결과 = name John \n age 30 \n city Seoul
조건문을 이용한 딕셔너리 특정 키 존재 확인
조건문과 파이썬 딕셔너리를 사용하여, 딕셔너리에 특정키가 존재하는지 확인할 수 있습니다.
person = {'name':'John','age':30,'city':'Seoul'}
if 'age' in person:
print("Key 'age' exists in the dictionary.")
else :
print("Key 'age' does not exist in the dictionary.")
# 결과 = "key 'age' exists in the dictionary."
'🧮Programming > Python' 카테고리의 다른 글
| [Python] 스텍, 큐, 덱(Stack, Queue, Deque) module 사용 정리 (0) | 2024.02.18 |
|---|---|
| [Python] 입력 값 다중 리스트로 만드는 법 (0) | 2024.02.13 |
| [Python] 람다(lambda)함수 (0) | 2024.02.12 |
| [Python] 정렬 함수 (0) | 2024.02.11 |
| [Python] map함수 (1) | 2024.02.09 |