본문 바로가기
실버를 위한 코딩/파이썬

[파이썬] 딕셔너리 데이터를 다루는 여러 방법

by forSilver 2024. 3. 5.
반응형

딕셔너리 데이터를 다루는 방법

Python에서 딕셔너리는 매우 유연한 내장 데이터 타입으로, 해시 테이블의 형태를 띠고 있습니다. 다음은 딕셔너리 데이터를 다루는 여러 가지 방법들입니다:

딕셔너리 생성

# 빈 딕셔너리 생성
empty_dict = {}

# 초기 값이 있는 딕셔너리 생성
dict_with_values = {'key1': 'value1', 'key2': 'value2'}

# dict() 생성자를 사용하는 방법
dict_constructor = dict(key1='value1', key2='value2')

요소 접근 및 조회

# 키를 사용하여 값에 접근
value = dict_with_values['key1']

# get()을 사용하여 값에 접근
value = dict_with_values.get('key1')

# 모든 키 조회
keys = dict_with_values.keys()

# 모든 값 조회
values = dict_with_values.values()

# 모든 키-값 쌍 조회
items = dict_with_values.items()

요소 추가 및 변경

# 새 키-값 쌍 추가
dict_with_values['key3'] = 'value3'

# 기존 키의 값 변경
dict_with_values['key1'] = 'new_value1'

# update()를 사용하여 여러 키-값 쌍 추가/변경
dict_with_values.update({'key4': 'value4', 'key2': 'new_value2'})

요소 삭제

# 키-값 쌍 삭제
del dict_with_values['key1']

# pop()을 사용하여 키-값 쌍 삭제하고 값을 반환
value = dict_with_values.pop('key2')

# popitem()을 사용하여 마지막 키-값 쌍 삭제하고 반환
item = dict_with_values.popitem()

# 모든 요소 삭제
dict_with_values.clear()

멤버십 테스트

# 키가 딕셔너리에 있는지 확인
is_key_in_dict = 'key1' in dict_with_values

# 키가 딕셔너리에 없는지 확인
is_key_not_in_dict = 'key1' not in dict_with_values

반복문을 통한 딕셔너리 순회

# 모든 키에 대해 반복
for key in dict_with_values:
    print(key)

# 모든 키-값 쌍에 대해 반복
for key, value in dict_with_values.items():
    print(key, value)

복사

# 얕은 복사
dict_copy = dict_with_values.copy()

# dict()를 사용한 얕은 복사
dict_copy2 = dict(dict_with_values)

# copy 모듈의 deepcopy를 사용한 깊은 복사
import copy
dict_deepcopy = copy.deepcopy(dict_with_values)

딕셔너리 컴프리헨션

딕셔너리 컴프리헨션을 사용하면 간결하게 새 딕셔너리를 만들 수 있습니다.

# 키와 값을 뒤집어 새 딕셔너리 생성
reversed_dict = {value: key for key, value in dict_with_values.items()}

내장 함수와 딕셔너리

Python의 내장 함수들도 딕셔너리와 함께 사용할 수 있습니다.

# 길이 확인
len(dict_with_values)

# 최소, 최대 키 찾기 (알파벳 순서로 비교)
min_key = min(dict_with_values)
max_key = max(dict_with_values)

이러한 다양한 방법을 통해 딕셔너리는 데이터를 저장, 조회, 수정 및 삭제하는 등의 작업을 할 수 있으며, 데이터를 효율적으로 관리할 수 있습니다. 딕셔너리는 데이터베이스 쿼리의 결과, JSON 데이터 구조 등과 같이 키-값 기반의 데이터를 다룰 때 매우 유용합니다.