ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 파이썬 기초 : 딕셔너리(Dictionary)
    🐍 Python 2025. 1. 19. 19:51
    728x90

    딕셔너리(Dictionary)의 개념 및 특징

    1. 정의
      • 키(key)와 값(value) 쌍으로 데이터를 저장하는 자료형.
      • 중괄호({ })를 사용하여 생성하며, 각 쌍은 키: 값 형태로 구성되고, 콤마(,)로 구분합니다.
    2. 특징
      • 가변(Mutable): 생성한 뒤에도 내용을 추가, 변경, 삭제할 수 있습니다.
      • 순서(Ordered): 파이썬 3.7 이상부터 딕셔너리는 삽입 순서를 유지합니다.
      • 키(key)는 중복 불가: 동일 키가 중복되면, 마지막으로 할당된 값이 유지됩니다.
      • 키(key)는 변경 불가능(Immutable) 자료형만 사용 가능 (ex: 문자열, 숫자, 튜플 등).
      • 값(value)은 어떠한 자료형도 가능하며, 중복도 허용됩니다.
    3. 활용 사례
      • 매핑(Mapping): 특정 키워드로 데이터를 빠르게 검색하거나 저장할 때. (예: 회원 정보, 환경설정 등)
      • JSON 구조와 유사: REST API, 데이터 직렬화 등에서 키-값 구조를 쉽게 표현할 수 있음.

    딕셔너리 생성 및 초기화

    1. 빈 딕셔너리 생성

       

    2.  초기값을 가진 딕셔너리

     

    3.  dict() 생성자 사용

     


    딕셔너리 접근 및 기본 사용

    1. 값 조회
      • 딕셔너리[키] 또는 딕셔너리.get(키, 기본값)

    2. 값 추가 & 수정
      • 존재하는 키를 할당하면 수정이 되고, 없는 키에 할당하면 새로 추가됩니다.

    3. 값 삭제
      • del 딕셔너리[키] 또는 딕셔너리.pop(키) 사용

    4. 존재 여부 확인
      • if "city" in person: 형태로 딕셔너리에 특정 키가 존재하는지 쉽게 확인.

    딕셔너리 주요 메서드 및 활용

    1. .keys(), .values(), .items()
      • .keys() : 딕셔너리의 모든 키를 반환 (dict_keys 타입)
      • .values() : 딕셔너리의 모든 값을 반환 (dict_values 타입)
      • .items() : (키, 값) 쌍을 튜플 형태로 반환 (dict_items 타입)
    2. .update(other_dict)
      • 다른 딕셔너리(또는 (키,값) 형태의 반복 가능한 객체)의 내용을 병합 또는 갱신합니다.
      • 중복 키가 있다면, other_dict의 값으로 덮어쓰기됩니다.
    3. .copy()
      • 얕은 복사(Shallow copy)를 수행. 딕셔너리를 복제할 때 사용합니다.
    4. clear()
      • 딕셔너리의 모든 요소를 삭제하여 빈 딕셔너리로 만듭니다.

     


    딕셔너리 활용 예제

    1. 회원 정보 관리

    2. 단어 빈도수 세기(Counting)
       
    3. JSON과 유사한 데이터 구조 처리

    딕셔너리 주요 메서드 및 기능 표 (요약)

    메서드 기능설명 예시 (코드 / 결과)
    생성 중괄호 {} 사용, dict() 생성자를 통해 키-값 쌍을 선언 my_dict = {"key1": "val1", "key2": "val2"}
    값 접근 딕셔너리[키], 딕셔너리.get(키, 기본값) person["name"] / person.get("city", "Unknown")
    값 추가 /
    수정
    딕셔너리[키] = 값 person["age"] = 20 (존재시 수정, 미존재시 추가)
    값 삭제 del 딕셔너리[키], 딕셔너리.pop(키), clear() del person["age"], removed = person.pop("city")
    존재 여부 if 키 in 딕셔너리: if "name" in person: ...
    .keys() /
    .values() /
    .items()
    키 / 값 / (키, 값) 쌍 전체를 반복 가능한 형태로 반환 for k in my_dict.keys(): print(k)
    .update
    (other)
    다른 딕셔너리 혹은 (키, 값)
    쌍으로 구성된 반복 가능 객체를 병합
    my_dict.update({"city": "Seoul"})
    .copy() 얕은 복사(Shallow copy) new_dict = my_dict.copy()

     

    728x90
Designed by Tistory.