Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 딕셔너리 update() 메서드 완벽 정리: 항목 추가·수정 방법

파이썬에서 딕셔너리(dictionary)를 다루다 보면 저장된 내용을 수정해야 하는 경우가 매우 자주 발생합니다.

예를 들어, 자동차 가격 정보를 담고 있는 딕셔너리가 있다고 가정해 봅시다. 특정 차량에 할인을 적용하려면 해당 항목의 값을 변경해야 하겠죠. 이처럼 딕셔너리의 기존 항목을 수정할 때 유용하게 사용되는 것이 바로 update() 메서드입니다.

이 글에서는 파이썬 딕셔너리의 update() 메서드가 무엇인지, 그리고 실제 예제를 통해 딕셔너리 항목을 업데이트하는 방법까지 단계별로 살펴보겠습니다.

파이썬 딕셔너리 복습

파이썬에서 딕셔너리는 매핑(mapping) 데이터 타입으로 분류됩니다. 키(key)와 값(value)을 하나의 쌍으로 묶어 관련된 데이터를 함께 저장하는 구조이기 때문입니다.

다음은 파이썬 딕셔너리의 간단한 예시입니다.

book = {
	'title': 'The Great Gatsby',
	'published': '1925',
	'author': 'F. Scott Fitzgerald',
	'in_stock': False
}

이 딕셔너리에는 네 개의 키(콜론 왼쪽에 위치)와 각각에 대응하는 값(콜론 오른쪽에 위치)이 들어 있습니다.

그렇다면 여기서 in_stock 항목의 값을 True로 변경하고 싶다면 어떻게 해야 할까요? 이때 딕셔너리의 update() 메서드를 활용하면 됩니다.

파이썬 딕셔너리 update() 메서드란?

update() 메서드는 딕셔너리의 내용을 수정할 수 있게 해주는 내장 메서드입니다. 기본 문법은 다음과 같습니다.

dictionary_name.update(new_item)

new_item 자리에는 키-값 쌍을 담은 딕셔너리를 전달합니다. 이 값으로 기존 딕셔너리의 항목이 교체됩니다.

여기서 중요한 점 하나! 만약 지정한 새 항목의 키가 딕셔너리에 존재하지 않는다면, 에러가 발생하는 것이 아니라 새로운 항목으로 추가됩니다. 즉, update() 메서드는 항목 수정과 추가 두 가지 역할을 모두 수행할 수 있습니다.

딕셔너리 항목 업데이트하기

실제 예제를 통해 확인해 보겠습니다. 서점을 운영하고 있으며, 책 『위대한 개츠비(The Great Gatsby)』의 정보를 담은 딕셔너리가 있다고 가정해 봅시다. 이 책의 신간이 입고되어 in_stock 값을 False에서 True로 변경해야 하는 상황입니다.

다음 프로그램처럼 딕셔너리를 업데이트할 수 있습니다.

book = {
	'title': 'The Great Gatsby',
	'published': '1925',
	'author': 'F. Scott Fitzgerald',
	'in_stock': False
}

new_stock = { 'in_stock': True }

book.update(new_stock)
print(book)

실행 결과는 다음과 같습니다.

{'title': 'The Great Gatsby', 'published': '1925', 'author': 'F. Scott Fitzgerald', 'in_stock': True}

코드를 하나씩 살펴보겠습니다.

먼저, 책 『위대한 개츠비』의 정보를 담은 book이라는 딕셔너리를 선언했습니다.

그다음, 딕셔너리에 반영할 변경 사항을 담은 변수 new_stock을 생성했습니다. 이 딕셔너리는 in_stock의 값을 True로 설정합니다.

이어서 update() 메서드를 호출하여 new_stock의 내용을 book 딕셔너리에 적용합니다. 그 결과 book 딕셔너리에서 in_stock의 값이 True로 변경됩니다. 마지막으로 print(book)을 통해 수정된 딕셔너리 전체를 출력합니다.

마무리

파이썬 딕셔너리의 update() 메서드를 사용하면 기존 항목의 값을 손쉽게 수정할 수 있고, 존재하지 않는 키를 전달하면 새 항목으로 추가됩니다.

이번 글에서는 예제를 통해 update() 메서드로 딕셔너리 항목을 업데이트하는 방법을 알아보았습니다. 이제 여러분도 전문 개발자처럼 파이썬 딕셔너리의 내용을 자유롭게 관리할 수 있을 것입니다.