콘텐츠 내 자동삽입광고

광고1

posted by 초코생크림빵 2025. 8. 17. 17:36
반응형

딕셔너리(Dictionary) 조작 함수 예제 및 설명

파이썬의 딕셔너리는 키(key)와 값(value)으로 이루어진 데이터 구조입니다. 이 딕셔너리를 효율적으로 다루기 위해 다양한 내장 함수들을 사용할 수 있습니다. 다음은 자주 사용되는 get, pop, del, items, keys, values 함수에 대한 예제와 자세한 설명입니다.


1. get() : 키를 이용해 값 가져오기

get() 함수는 딕셔너리에 특정 키가 있는지 확인하고 그 을 가져오는 데 사용합니다. 키가 딕셔너리에 없더라도 오류를 발생시키지 않고 None을 반환하거나, 사용자가 지정한 기본값을 반환합니다. 이는 존재하지 않는 키에 접근할 때 발생할 수 있는 KeyError를 방지하는 데 유용합니다.

형식: dictionary.get(key, default_value)

예제 소스:

Python
 
student = {'name': 'Alice', 'age': 25, 'major': 'Computer Science'}

# 'name' 키의 값 가져오기
name = student.get('name')
print(f"학생 이름: {name}")  # 출력: 학생 이름: Alice

# 'email' 키는 존재하지 않으므로 기본값 '정보 없음' 반환
email = student.get('email', '정보 없음')
print(f"학생 이메일: {email}")  # 출력: 학생 이메일: 정보 없음

설명:

  • student.get('name')은 딕셔너리에 'name' 키가 있으므로, 그에 해당하는 'Alice'라는 값을 반환합니다.
  • student.get('email', '정보 없음')은 딕셔너리에 'email' 키가 없으므로, 기본값으로 지정된 '정보 없음'을 반환합니다. 만약 기본값을 지정하지 않았다면 None이 반환됩니다.

2. pop() : 키를 이용해 값 제거하기

pop() 함수는 특정 키에 해당하는 값을 가져오는 동시에 해당 키와 값을 딕셔너리에서 제거합니다. get()과 마찬가지로, 존재하지 않는 키를 지정하면 오류를 발생시키므로 기본값을 설정할 수 있습니다.

형식: dictionary.pop(key, default_value)

예제 소스:

Python
 
scores = {'math': 90, 'science': 85, 'korean': 95}

# 'science' 키와 값을 제거하고 그 값 반환
science_score = scores.pop('science')
print(f"제거된 과학 점수: {science_score}")  # 출력: 제거된 과학 점수: 85
print(f"남은 과목 점수: {scores}")           # 출력: 남은 과목 점수: {'math': 90, 'korean': 95}

# 'history' 키는 없으므로 기본값 0 반환
history_score = scores.pop('history', 0)
print(f"제거된 역사 점수: {history_score}")  # 출력: 제거된 역사 점수: 0

설명:

  • scores.pop('science')는 'science' 키와 그 값 85를 딕셔너리에서 제거하고, 제거된 값인 85를 반환합니다.
  • scores.pop('history', 0)는 'history' 키가 딕셔너리에 없으므로 KeyError 대신 기본값인 0을 반환합니다.

3. del : 키를 이용해 키와 값 제거하기

del은 특정 키와 그에 해당하는 값을 딕셔너리에서 완전히 삭제하는 데 사용되는 파이썬의 구문(statement)입니다. pop()과 달리 제거된 값을 반환하지 않으며, 존재하지 않는 키에 접근하면 KeyError가 발생합니다.

형식: del dictionary[key]

예제 소스:

Python
 
fruits = {'apple': 3, 'banana': 5, 'cherry': 2}

# 'banana' 키와 그에 해당하는 값 제거
del fruits['banana']
print(f"남은 과일: {fruits}")  # 출력: 남은 과일: {'apple': 3, 'cherry': 2}

설명:

  • del fruits['banana']는 딕셔너리 fruits에서 'banana' 키와 값 5를 완전히 삭제합니다. 이 구문은 아무것도 반환하지 않습니다.

4. items() : 키-값 쌍 가져오기

items() 함수는 딕셔너리에 있는 모든 키-값 쌍(키, 값) 형태의 튜플로 묶어 dict_items 객체로 반환합니다. 이 객체는 반복문(for-loop)에서 딕셔너리를 순회할 때 매우 유용하게 사용됩니다.

형식: dictionary.items()

예제 소스:

Python
 
product_prices = {'laptop': 1200, 'mouse': 25, 'keyboard': 80}

# 키와 값을 동시에 순회
for item, price in product_prices.items():
    print(f"제품: {item}, 가격: ${price}")

# 출력:
# 제품: laptop, 가격: $1200
# 제품: mouse, 가격: $25
# 제품: keyboard, 가격: $80

설명:

  • product_prices.items()dict_items 객체를 반환하며, 반복문을 통해 item 변수에는 키(laptop, mouse, keyboard)가, price 변수에는 값(1200, 25, 80)이 차례대로 할당됩니다.

5. keys() : 모든 키 가져오기

keys() 함수는 딕셔너리에 있는 모든 키dict_keys 객체로 반환합니다. 이 객체는 반복문에서 딕셔너리의 키만 순회할 때 사용됩니다.

형식: dictionary.keys()

예제 소스:

Python
 
user_info = {'id': 'user123', 'nickname': 'johndoe', 'registered_date': '2023-01-01'}

# 딕셔너리의 모든 키 순회
for key in user_info.keys():
    print(key)

# 출력:
# id
# nickname
# registered_date

설명:

  • user_info.keys()dict_keys 객체를 반환하며, 반복문을 통해 id, nickname, registered_date와 같은 키를 차례대로 순회할 수 있습니다.

6. values() : 모든 값 가져오기

values() 함수는 딕셔너리에 있는 모든 값dict_values 객체로 반환합니다. 이 객체는 반복문에서 딕셔너리의 값만 순회할 때 사용됩니다.

형식: dictionary.values()

예제 소스:

Python
 
monthly_sales = {'jan': 200, 'feb': 250, 'mar': 300}

# 딕셔너리의 모든 값 순회
for sale in monthly_sales.values():
    print(f"월별 판매량: {sale}")

# 출력:
# 월별 판매량: 200
# 월별 판매량: 250
# 월별 판매량: 300

# 모든 값의 합계 계산
total_sales = sum(monthly_sales.values())
print(f"총 판매량: {total_sales}") # 출력: 총 판매량: 750

설명:

  • monthly_sales.values()dict_values 객체를 반환하며, 반복문을 통해 값인 200, 250, 300을 순회할 수 있습니다. 또한 sum()과 같은 내장 함수와 함께 사용하여 값들의 합계를 쉽게 계산할 수 있습니다.

💡 요약

함수 / 구문 역할 반환 값 사용 시기
get() 키의 값을 가져오기 키가 있으면 값, 없으면 기본값(또는 None) 키의 존재 여부를 미리 확인하지 않고 값을 가져올 때
pop() 키와 값을 제거하고 값 반환 제거된 값 특정 키를 제거하면서 그 값을 사용해야 할 때
del 키와 값을 완전히 제거 없음 특정 키를 단순히 삭제할 때
items() 모든 키-값 쌍 가져오기 dict_items 객체 키와 값을 모두 사용하여 순회할 때
keys() 모든 키 가져오기 dict_keys 객체 키만 순회하거나 키의 목록이 필요할 때
values() 모든 값 가져오기 dict_values 객체 값만 순회하거나 값의 목록이 필요할 때
반응형

콘텐츠 내 자동삽입광고