[파이썬] 딕셔너리의 키와 값 변경

파이썬에서 딕셔너리는 키(key)와 값(value)을 하나의 쌍으로 저장하는 자료구조입니다. 때때로 우리는 딕셔너리에서 특정 키의 값을 변경하거나, 키와 값을 서로 교환하고 싶을 수 있습니다. 이 글에서는 파이썬에서 딕셔너리의 키와 값을 변경하는 방법에 대해 알아보겠습니다.

1. 딕셔너리의 값 변경하기

딕셔너리에서 특정 키의 값을 변경하는 방법은 간단합니다. 우리는 해당 키를 찾아서 변경하고자 하는 새로운 값을 할당해주면 됩니다. 다음은 예시 코드입니다.

# 딕셔너리 생성
my_dict = {'apple': 2, 'banana': 3, 'orange': 5}

# 'banana' 키의 값을 변경
my_dict['banana'] = 4

print(my_dict)
# 출력: {'apple': 2, 'banana': 4, 'orange': 5}

위의 코드에서 ‘banana’ 키의 값을 3에서 4로 변경했습니다. 딕셔너리의 키는 중복되지 않으므로, 해당 키가 이미 존재할 경우 값을 변경하고, 없을 경우 새로운 키-값 쌍을 추가합니다.

2. 딕셔너리의 키와 값 교환하기

딕셔너리에서 키와 값을 서로 교환하기 위해서는 zip() 함수와 딕셔너리의 items() 메서드를 사용할 수 있습니다. zip() 함수는 두 개의 리스트를 묶어서 새로운 리스트로 반환해주는 함수이며, items() 메서드는 딕셔너리의 키와 값을 튜플 형태로 반환합니다. 다음은 예시 코드입니다.

# 딕셔너리 생성
my_dict = {'apple': 2, 'banana': 3, 'orange': 5}

# 키와 값을 교환
swapped_dict = {v: k for k, v in my_dict.items()}

print(swapped_dict)
# 출력: {2: 'apple', 3: 'banana', 5: 'orange'}

위의 코드에서 my_dict 딕셔너리의 키와 값을 교환하여 swapped_dict 딕셔너리를 생성했습니다. 이를 위해 딕셔너리 컴프리헨션(dictionary comprehension)을 사용했는데, 각각의 키와 값을 반대로 할당하였습니다.

3. 딕셔너리의 키 이름 변경하기

파이썬에서는 딕셔너리에 포함된 키의 이름을 변경할 수 없습니다. 하지만, 새로운 키-값 쌍을 추가하고 기존의 키-값 쌍을 삭제하는 과정을 통해 키 이름을 변경하는 것처럼 보이게 할 수 있습니다. 다음은 예시 코드입니다.

# 딕셔너리 생성
my_dict = {'apple': 2, 'banana': 3, 'orange': 5}

# 'banana' 키의 값을 가져오기
banana_value = my_dict.pop('banana')

# 'new_banana' 키에 'banana' 값 할당
my_dict['new_banana'] = banana_value

print(my_dict)
# 출력: {'apple': 2, 'orange': 5, 'new_banana': 3}

위의 코드에서는 다음과 같은 과정을 거쳐 ‘banana’ 키의 이름을 ‘new_banana’로 변경했습니다.

  1. 기존 ‘banana’ 키의 값을 가져옵니다.
  2. ‘banana’ 키의 값을 삭제합니다.
  3. ‘new_banana’ 키에 기존 ‘banana’의 값을 할당합니다.

딕셔너리의 키와 값 변경은 파이썬에서 자주 사용되는 작업 중 하나입니다. 딕셔너리가 사용되는 다양한 상황에서 키와 값을 유연하게 변경하여 코드를 개선할 수 있습니다.