Stay Hungry Stay Foolish

알고리즘

[파이썬] 딕셔너리(Dictionary), dict()

dev스카이 2024. 10. 25. 21:04

Dictionary

파이썬의 딕셔너리(dictionary)는 키-값 쌍으로 데이터를 저장하는 변경 가능한(mutable) 자료 구조이다. 딕셔너리는 해시 테이블 기반으로 구현되어 있어, 를 통해 을 빠르게 검색, 추가, 삭제할 수 있다. 각 키는 유일해야 하며, 값은 중복될 수 있다.

 

특징

  • 키-값 쌍 : 데이터를 키(key)와 값(value) 형태로 저장한다.
  • 변경 가능 : 딕셔너리에 새로운 키-값을 추가하거나 기존 값을 변경할 수 있다.
  • 빠른 조회 : 키를 사용해 값을 빠르게 조회할 수 있다.
  • 순서 보장 : 파이썬 3.7부터 삽입한 순서대로 항목을 유지한다.

 

딕셔너리 생성 방법

딕셔너리는 중괄호 { }를 사용하거나 dict() 함수를 이용해 생성할 수 있다.

 

1️⃣ 중괄호{ } 사용

my_dict = {
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

 

 

2️⃣ dict() 함수 사용

my_dict = dict(name="Alice", age=25, city="New York")

 

 

딕셔너리 키와 값 접근

키로 값에 접근하는 방법과 get() 메서드를 사용하여 값에 접근할 수 있다.

 

1️⃣ 키로 값에 접근

print(my_dict["name"])  # 출력: Alice
  • 딕셔너리에서 특정 키에 해당하는 값을 가져온다.

 

2️⃣ get() 메서드

print(my_dict.get("name", "Unknown"))  # 출력: Alice
print(my_dict.get("address", "Unknown"))  # 출력: Unknown
  • 키가 없는 경우 기본값을 반환하도록 할 수 있다.
 

값 추가 및 수정

딕셔너리에 새로운 키-값 쌍을 추가하거나, 기존 값을 수정할 수 있다.

my_dict["age"] = 26  # 값 수정
my_dict["address"] = "Boston"  # 새 키-값 쌍 추가

 

 

값 삭제

1️⃣ del 

del my_dict["city"]  # "city" 항목 삭제
  • del 키워드로 특정 키 값을 삭제할 수 있다.

2️⃣ pop() 

age = my_dict.pop("age")  # "age" 항목을 삭제하고 값을 반환
  • 인자로 값을 넘기면 값을 반환하면서 삭제한다.

3️⃣ clear()

my_dict.clear()  # 딕셔너리의 모든 항목 삭제
  • 모든 항목을 삭제한다.

 

딕셔너리 메서드

1️⃣ keys()

print(my_dict.keys())   # dict_keys(['name', 'address'])
  • 딕셔너리의 모든 키를 반환한다.

 

2️⃣ values()

print(my_dict.values()) # dict_values(['Alice', 'Boston'])
  • 딕셔너리의 모든 값을 반환한다.

 

3️⃣ items()

print(my_dict.items())  # dict_items([('name', 'Alice'), ('address', 'Boston')])
  • (키, 값) 쌍을 반환한다.

 

딕셔너리 반복문

딕셔너리의 에 대해 반복문을 사용할 수 있다.

for key, value in my_dict.items():
    print(key, value)

 

 

📌 딕셔너리 특징 요약

  • 키는 고유하고, 값은 중복 가능.
  • 변경 가능: 새로운 요소를 추가하거나 수정할 수 있음.
  • 키로 빠른 검색이 가능.
  • 파이썬 3.7부터는 삽입 순서가 유지됨.

딕셔너리는 주로 연관된 데이터를 저장하거나, 빠른 검색이 필요한 경우 유용하게 사용된다.

 


'알고리즘' 카테고리의 다른 글

[파이썬] set, 집합 함수  (0) 2024.10.29
[파이썬] zip() 함수  (0) 2024.10.25
[파이썬] set() (집합 함수)  (0) 2024.10.24
[파이썬] replace() 메서드  (0) 2024.10.22
[파이썬] 자료 구조 - deque  (0) 2024.10.21