실버를 위한 코딩/파이썬

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

forSilver 2024. 3. 5. 18:35
반응형

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

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 데이터 구조 등과 같이 키-값 기반의 데이터를 다룰 때 매우 유용합니다.