코딩이 즐겁다

[파이썬 기초] 딕셔너리(Dictionary) 사용법 갓벽 가이드 본문

Python

[파이썬 기초] 딕셔너리(Dictionary) 사용법 갓벽 가이드

코즐 2025. 1. 25. 13:26
반응형

 

파이썬 딕셔너리 (Dictionary) 타입이란?

파이썬(Python)에서 딕셔너리(Dictionary)키-값(Key-Value) 쌍으로 데이터를 저장하는 가변적(mutable)이고 순서가 유지되는(버전 3.7 이후) 자료 구조입니다. 딕셔너리는 데이터를 효율적으로 검색, 추가, 삭제할 수 있어 매우 강력한 자료형입니다. 딕셔너리를 좀 더 쉽게 생각해보면, 말 그대로 사전이라는 뜻으로 찾고자 하는 단어와 뜻과 의미를 연상해 보면 됩니다. 여기서 찾고자 하는 단어는 key 값이라 하고 뜻과 의미는 value 값이라고 생각하면 됩니다. 따라서 key 값은 고유해야만 합니다. key 값으로 리스트 자료형은 안되지만 튜플은 가능한 이유입니다.

 


 

딕셔너리 주요 내용

생성 방법 {}
추가 및 수정 setdefault(키, 값), update({키1:값1, 키2:값2, ...})
삭제 pop(키), clear()
필수 메서드 keys(), values(), items(), get(키, 디폴트값)

 


 

딕셔너리 생성 방법

기본적인 생성

# 빈 딕셔너리 생성
empty_dict = {}

# 키-값 쌍으로 딕셔너리 생성
person = {"name": "Alice", "age": 25, "city": "New York"}

print(empty_dict)  # {}
print(person)      # {'name': 'Alice', 'age': 25, 'city': 'New York'}

 

dict() 함수 사용

person = dict(name="Alice", age=25, city="New York")
print(person)  # {'name': 'Alice', 'age': 25, 'city': 'New York'}

 

키-값 쌍의 리스트나 튜플로 생성

pairs = [("name", "Alice"), ("age", 25), ("city", "New York")]
person = dict(pairs)
print(person)  # {'name': 'Alice', 'age': 25, 'city': 'New York'}

 


 

딕셔너리 값 접근 및 수정

  • dict[key]: 키를 사용해 값에 접근하거나 수정합니다.
  • get(): 키에 대응하는 값을 반환하며, 키가 없을 경우 기본값을 설정할 수 있습니다.
person = {"name": "Alice", "age": 25, "city": "New York"}

# 값 접근
print(person["name"])  # Alice

# 값 수정
person["age"] = 30
print(person)  # {'name': 'Alice', 'age': 30, 'city': 'New York'}

# get() 메서드
print(person.get("city"))      # New York
print(person.get("country"))   # None (키가 없으면 기본적으로 None 반환)
print(person.get("country", "USA"))  # USA (기본값 설정)

 


 

딕셔너리 추가 및 삭제

  • 추가: 새 키에 값을 할당하면 키-값 쌍이 추가됩니다.
  • 삭제:
    • del: 특정 키-값 쌍 삭제
    • pop(): 키에 대응하는 값을 제거하고 반환
    • popitem(): 마지막 키-값 쌍 제거 (Python 3.7 이상)
    • clear(): 모든 키-값 쌍 삭제
# 추가
person["country"] = "USA"
print(person)  # {'name': 'Alice', 'age': 30, 'city': 'New York', 'country': 'USA'}

# 삭제
del person["city"]
print(person)  # {'name': 'Alice', 'age': 30, 'country': 'USA'}

value = person.pop("age")
print(value)   # 30
print(person)  # {'name': 'Alice', 'country': 'USA'}

person.clear()
print(person)  # {}

 


 

딕셔너리 메서드

메서드 설명 예제
keys() 딕셔너리의 키를 반환 person.keys() -> dict_keys(['name', 'age'])
values() 딕셔너리의 값을 반환 person.values() -> dict_values(['Alice', 25])
items() 키-값 쌍을 반환 person.items() -> dict_items([('name', 'Alice'), ('age', 25)])
update(other) 다른 딕셔너리를 추가하거나 업데이트 person.update({"age": 30})
copy() 딕셔너리의 얕은 복사본을 반환 new_dict = person.copy()
setdefault(key, default) 키가 존재하지 않으면 기본값과 함께 추가, 존재하면 해당 값을 반환 person.setdefault('city', 'Unknown')

예제:

dict = {}

dict['a'] = 'apple'
print(dict) # {'a': 'apple'}

dict.setdefault('b', 'banana')
print(dict) # {'a': 'apple', 'b': 'banana'}

dict.update({'c':'cherry', 'a':'bambi'})
print(dict) # {'a': 'bambi', 'b': 'banana', 'c': 'cherry'}
# update 메소드는 해당 키 값이 존재하면 수정처리, 존재하지 않으면 신규 추가 처리

dict['a'] = 'apple'
print(dict) # {'a': 'apple', 'b': 'banana', 'c': 'cherry'}

 


 

딕셔너리 반복문 (keys(), values(), items())

  • keys(): 딕셔너리 키를 반환
  • values(): 딕셔너리 값을 반환
  • items(): 키-값 쌍을 튜플 타입으로 반환
dict = {'a':'apple', 'b':'banana', 'c':'cherry'}

a = list(dict.keys())
print(a) # ['a', 'b', 'c']

b = list(dict.values())
print(b) # ['apple', 'banana', 'cherry']

c = list(dict.items())
print(c) # [('a', 'apple'), ('b', 'banana'), ('c', 'cherry')]

for k in dict :
    print(k, dict[k])

>>> a apple
>>> b banana
>>> c cherry

for k in dict.keys() :
    print(k)

>>> a
>>> b
>>> c

for k in dict.values() :
    print(k)

>>> apple
>>> banana
>>> cherry

for k in dict.items() :
    print(k)

# 튜플 타입으로 반환
>>> ('a', 'apple')
>>> ('b', 'banana')
>>> ('c', 'cherry')

 


 

코즐

파이썬을 배우고 싶은 사람은 누구나 파이썬 학원(국비 지원 파이썬 학원)에 가지 않고도 파이썬 공부를 하면서 실력을 쌓아나갈 수 있다고 생각합니다. 

파이썬 온라인 강의 자료를 올리면서 누구나 쉽게 파이썬을 공부하실 수 있도록 최선을 다해서 설명하도록 하겠습니다.

 


 

 

반응형