본문 바로가기
파이썬

파이썬 자료형 - 딕셔너리 (dictionary) 이해하기

by python pro 2023. 1. 23.
반응형

Python에서 Dictionary는 키(key)와 값(value)의 쌍으로 구성된 자료형입니다. Dictionary는 중괄호({})로 표현하며, 각 쌍은 콜론(:)으로 구분합니다.

 

예를 들어, 아래와 같이 Dictionary를 생성할 수 있습니다.

 

# 빈 Dictionary 생성
person = {}

# 쌍을 포함하는 Dictionary 생성
person = {"name": "John", "age": 30}

# 다양한 자료형을 포함하는 Dictionary 생성
mixed_dict = {"name": "John", "age": 30, "hobbies": ["reading", "traveling"]}

Dictionary 요소에 접근하는 방법은 키를 사용합니다. 키는 중괄호([])를 사용하며, 키가 없는 경우 KeyError가 발생합니다.

# Dictionary 요소 접근
print(person["name"]) # "John"
print(person["age"]) # 30

# 키가 없는 경우 KeyError
print(person["gender"]) # KeyError

Dictionary는 요소를 추가, 삭제, 수정 할 수 있습니다.

# Dictionary 요소 추가
person["gender"] = "male"

# Dictionary 요소 삭제
del person["age"]

# Dictionary 요소 수정
person["name"] = "Jane"

Dictionary는 다양한 함수를 제공하며, 이를 활용하면 편리하게 Dictionary를 사용할 수 있습니다.

# Dictionary 길이
print(len(person)) # 2

# Dictionary 키 존재 여부
print("name" in person) # True
print("gender" in person) # False

# Dictionary 값 존재 여부
print("Jane" in person.values()) # True
print("male" in person.values()) # False

# Dictionary items() 함수는 key, value 쌍을 튜플로 반환
print(person.items()) # [("name", "Jane"), ("gender", "male")]

# Dictionary keys() 함수는 key만 반환
print(person.keys()) # ["name", "gender"]

# Dictionary values() 함수는 value만 반환
print(person.values()) # ["Jane", "male"]

딕셔너리는 일반적으로 키-값 쌍으로 구성되며, 키는 중복되지 않는 값이어야 합니다. 키가 중복될 경우, 새로운 키로 업데이트 됩니다.

# 키 중복시, 새로운 값으로 업데이트
person = {"name": "John", "age": 30}
person["age"] = 25
print(person) # {"name": "John", "age": 25}

 

Dictionary는 일반적으로 사전과 같은 용도로 사용되며, 이 포스팅을 통해 Python Dictionary 자료형을 이해하고 응용할 수 있는 기본적인 방법을 알아보았습니다.

 

아래는 예시 코드를 더 가지고 왔습니다.

# 주소록 생성
address_book = {}

# 주소록 요소 추가
address_book["John"] = {"phone": "555-555-5555", "email": "john@example.com", "address": "123 Main St"}
address_book["Jane"] = {"phone": "555-555-5556", "email": "jane@example.com", "address": "456 Park Ave"}
address_book["Bob"] = {"phone": "555-555-5557", "email": "bob@example.com", "address": "789 Elm St"}

# 주소록 요소 접근
print(address_book["Jane"]["email"]) # "jane@example.com"

# 주소록 요소 수정
address_book["Bob"]["phone"] = "555-555-5558"

# 주소록 요소 삭제
del address_book["John"]

# 주소록 전체 출력
print(address_book) # {"Jane": {"phone": "555-555-5556", "email": "jane@example.com", "address": "456 Park Ave"}, "Bob": {"phone": "555-555-5558", "email": "bob@example.com", "address": "789 Elm St"}}

이런 코드로 주소록에 정보를 추가, 접근, 수정, 삭제 할 수 있는 기본적인 사용법을 익혀볼 수 있습니다.

 

반응형

댓글