파이썬 초보자가 알아야 할 딕셔너리 사용법 및 업데이트 요령
파이썬을 처음 접하는 초보자에게 딕셔너리는 매우 유용한 자료 구조 중 하나입니다. 딕셔너리는 키(key)와 값(value) 쌍으로 데이터를 저장하며, 빠르고 쉽게 데이터를 조회, 추가, 삭제할 수 있습니다. 이번 글에서는 파이썬 초보자를 위한 딕셔너리의 기본적인 사용법과 업데이트 요령을 설명하겠습니다.
1. 파이썬 딕셔너리 기본 사용법
파이썬 딕셔너리는 중괄호 {}를 사용하여 정의되며, 각 키와 값은 콜론 :으로 구분됩니다. 딕셔너리는 키를 사용해 데이터를 빠르게 조회할 수 있고, 각 키는 고유해야 합니다. 아래 코드는 name, age, city라는 키를 가진 딕셔너리를 생성하고, 각 키에 해당하는 값을 저장합니다.
# 딕셔너리 생성
person = {
"name": "Alice",
"age": 25,
"city": "Seoul"
}
# 딕셔너리 출력
print(person)
2. 딕셔너리 값 접근 및 조회
딕셔너리의 특정 키를 사용해 해당 값을 조회할 수 있습니다. 키를 대괄호 [] 안에 넣으면 그에 대응하는 값이 반환됩니다. 아래 코드는 name과 age 키에 저장된 값을 각각 출력합니다.
# 딕셔너리 값 접근
print(person["name"]) # 출력: Alice
print(person["age"]) # 출력: 25
키가 존재하지 않는 경우 오류가 발생할 수 있습니다. 안전하게 값을 조회하려면 get() 메서드를 사용하는 것이 좋습니다. get() 메서드는 키가 딕셔너리에 없을 때도 오류를 발생시키지 않고, 기본값을 반환할 수 있어 코드가 더욱 안전해집니다.
get() 메서드는 다음과 같은 형식으로 사용됩니다.
- key: 가져오려는 값의 키.
- default_value: 키가 존재하지 않을 때 반환할 기본값. 생략하면 None이 기본값으로 반환됩니다.
dictionary.get(key, default_value)
get() 메서드를 사용할 때, 딕셔너리에서 키가 존재하지 않는 경우 기본적으로 None을 반환하는데, 이를 변경하고 싶으면 두 번째 인자에 원하는 값을 설정하면 됩니다.
# 기본값이 None이 아닌 경우
country = person.get("country", "Not Specified")
print(country) # 출력: Not Specified
# 딕셔너리 생성
person = {
"name": "Alice",
"age": 25
}
# get()을 사용하여 값 가져오기
name = person.get("name")
print(name) # 출력: Alice
# 존재하지 않는 키를 사용할 때
city = person.get("city")
print(city) # 출력: None
# 존재하지 않는 키에 대해 기본값을 설정
city_with_default = person.get("city", "Unknown")
print(city_with_default) # 출력: Unknown
3. 딕셔너리 값 업데이트 요령
딕셔너리의 값을 업데이트하려면 해당 키에 새로운 값을 할당하면 됩니다. 만약 키가 딕셔너리에 존재하지 않는다면, 새로운 키-값 쌍이 추가됩니다. 새로운 값 추가와 기존 값 업데이트 모두 동일한 방법으로 수행됩니다. 딕셔너리에 없는 키를 할당하면 새로운 키-값 쌍이 추가됩니다. 아래 코드는 age 값을 26으로 업데이트하고, 새로운 occupation 필드를 추가합니다.
# 값 업데이트
person["age"] = 26
# 새로운 키-값 추가
person["occupation"] = "Engineer"
print(person)
4. 여러 값 업데이트: update() 메서드 사용
딕셔너리에서 여러 값을 한 번에 업데이트하려면 update() 메서드를 사용할 수 있습니다. 이를 통해 여러 키-값 쌍을 한 번에 추가하거나 수정할 수 있습니다. 아래 코드는 age와 city 값을 업데이트하고, 새로운 hobby 필드를 추가합니다.
# 여러 값 업데이트
person.update({
"age": 27,
"city": "Busan",
"hobby": "reading"
})
print(person)
5. 딕셔너리에서 값 삭제하기
딕셔너리에서 특정 키를 삭제할 때는 del 키워드를 사용하거나 pop() 메서드를 이용할 수 있습니다. pop() 메서드는 삭제한 값을 반환해주는 장점이 있습니다. 아래 코드에서 city 항목은 del 키워드를 사용해 삭제하고, occupation은 pop() 메서드로 삭제하면서 그 값을 출력합니다.
# del 키워드를 사용한 삭제
del person["city"]
# pop() 메서드를 사용한 삭제
removed_value = person.pop("occupation")
print(person)
print("Removed occupation:", removed_value)
딕셔너리에서 키가 없는 항목을 삭제하려 하면 오류가 발생할 수 있으므로, 삭제 전에 해당 키가 존재하는지 확인하는 것이 좋습니다.
# 키가 존재하는지 확인 후 삭제
if "hobby" in person:
del person["hobby"]
6. 딕셔너리 순회하기
딕셔너리의 모든 키와 값을 순회하고 싶을 때는 for 반복문을 사용하여 쉽게 데이터를 출력하거나 처리할 수 있습니다. 아래에 있는 코드는 items() 메서드를 사용하여 딕셔너리의 키와 값을 반복하면서 각각 출력합니다.
# 딕셔너리의 키와 값 순회
for key, value in person.items():
print(f"{key}: {value}")
keys() 메서드로 키만, values() 메서드로 값만 순회할 수도 있습니다.
# 키만 순회
for key in person.keys():
print(key)
# 값만 순회
for value in person.values():
print(value)
7. 딕셔너리 사용 예시: 재고 관리 시스템
앞에서 정리한 내용을 바탕으로 간단한 재고 관리 시스템을 구성하면 아래와 같습니다.
# 제품 재고 관리 시스템
inventory = {}
# 제품 추가 함수
def add_product(product, quantity):
if product in inventory:
inventory[product] += quantity
else:
inventory[product] = quantity
# 제품 업데이트 함수
def update_product(product, quantity):
if product in inventory:
inventory[product] = quantity
else:
print(f"{product} is not in the inventory.")
# 제품 삭제 함수
def remove_product(product):
if product in inventory:
del inventory[product]
else:
print(f"{product} is not in the inventory.")
# 제품 추가
add_product("Apple", 50)
add_product("Banana", 30)
# 제품 수량 업데이트
update_product("Apple", 70)
# 제품 출력
print(inventory)
# 제품 삭제
remove_product("Banana")
print(inventory)
'코딩취미 > Python' 카테고리의 다른 글
python 패키지 관리 방법 : 초보자를 위한 단계별 안내(설치,업데이트,가상환경,삭제) (0) | 2024.09.19 |
---|---|
파이썬 기초: print()로 간단하게 테이블 만들기(+format()함수) (0) | 2024.09.13 |
리스트 컴프리헨션 구조와 사용방법: 초보자를 위한 간단한 설명과 예제 (0) | 2024.09.10 |
QTreeView 트리구조 생성 및 사용방법(+이벤트 처리) (0) | 2024.09.10 |
exec()에서 사용자 입력(악성코드) 동작 방지방 (0) | 2024.09.09 |