Python에서의 Dictionary

Ruah·2024년 9월 15일

theory

목록 보기
8/11

Dictionary 란?

Mapping Type의 자료구조
키(key)값(value) 의 쌍으로 이루어진 변경 가능한(mutable) 데이터 타입
언어의 해시맵(HashMap), 연관 배열(Associative Array)과 유사한 기능을 제공
dictionary[key]로 접근
{'key' : 'value'} 로 되어있는 구조

딕셔너리의 특징

1. 키와 값의 쌍으로 구성

  • 각 키는 고유하며, 해당 키에 연관된 값을 저장
  • 키는 변경 불가능한(immutable)타입이어야하며, 일반적으로 문자열, 숫자, 튜플 등이 사용
  • 값은 어떤한 데이터 타입도 가능

2. 변경가능(mutable)

  • 딕셔너리는 생성 후에도 키-값 쌍의 추가, 수정, 삭제가 가능

3. 순서유지(python 3.7 부터)

  • python 3.7 이상부터 딕셔너리는 요소의 삽입 순서를 유지함.

4. 빠른데이터 접근

  • 해시테이블을 기반으로 구현되어, 이를 통한 데이터 접근이 매우 빠름(평균적으로 O(1)의 시간 복잡도)

Dictionary 생성 방법

중괄호 { } 사용

my_dic = {
	'name' = '박지성',
	'age' = 30,
	'city'= 'seoul'
}

dict() 함수 사용

my_dict = dict(name='박지성', age = 30, city = 'seoul')

빈 딕셔너리 생성

empty_dict = {}
#또는
empty_dict = dict()

Dictionary의 기본 연산

값 접근

my_dict = {'name': '박지성', 'age' : 30}

#키를 사용하여 접근
print(my_dict['name'])  # 출력 : 박지성

# 'get()' 메서드
age= my_dict.get('age')   # 30

# 존재하지 않는 키에 접근 할 때 'get()'의 기본값 설정
gender = my_dict.get('gender', '남성')   # 남성

값 추가 및 수정

# 새로운 키-값 쌍 추가
my_dict['city'] = 'seoul'

# 기존 키의 값 수정
my_dict['age'] = 31

키-값 쌍 삭제

# 'del' 키워드 사용
del my_dict['city]

# 'pop()' 메서드 사용하여 키-값 쌍을 제거
age = my_dict.pop('age')   # age 키를 제거하고, 그 값을 변수 age에 값 31 저장

# 모든 키-값 삭제
my_dict.clear()

딕셔너리 길이 확인

length = len(my_dict) # 딕셔너리의 키-값 쌍 개수 반환

키, 값, 아이템 조회

keys = my_dict.keys()      # dict_keys 객체 반환 
values = my_dict.values()  # dict_values 객체 반환
items = my_dict.items()    # dict_items(키와 벨류) 객체 반환

# 리스트로 반환하려면 'list()'사용
keys_list = list(my_dict.keys())

딕셔너리 순회

# 키를 통한 순회
for key in my_dict:
	print(key, my_dict[key])

# 'items()'를 통한 키와 값 순회
for key, value in my_dict.items():
	print(f"{key}: {value}")

딕셔너리의 주요 메서드

  • get(key, default=None): 키에 대응하는 값을 반환하며, 키가 없을 경우 기본값 반환
  • keys(): 딕셔너리의 모든 키를 dict_keys 객체로 반환
  • values(): 딕셔너리의 모든 값을 dict_values 객체로 반환
  • items(): 딕셔너리의 모든 키-값 쌍을 튜플로 묶어 dict_items 객체로 반환
  • pop(key, default=None): 키에 대응하는 값을 반환하고 해당 키-값 쌍을 삭제
  • update(other_dict): 다른 딕셔너리를 병합하여 업데이트
  • clear(): 모든 키-값 쌍을 삭제하여 빈 딕셔너리로 만듦

요소 탐색

key 값에 저장된 value 가져오기

get(key[, default])
  • default 값을 지정한 경우, key가 없을 때 default값을 반환

dict 내에 key가 존재하는지 조회

key in dict          # True or False

key 값에 저장된 value를 가져오고, key 값 삭제

pop(key[,default])
  • default값을 지정한경우, key가 없을 때 default값을 반환
profile
집요한 주니어 개발자의 호되게 당했던 기록

0개의 댓글