Python에서 사전의 키 변경

Najwa Riyaz 2023년10월10일
  1. Python의 사전에서 새 키 할당 및 이전 키 삭제
  2. Python에서 pop() 함수 사용
  3. for 루프를 사용하여 사전 탐색 및 Python 사전의 키 변경
  4. Python에서 완전히 새로운 인스턴스 재구축
  5. Python에서 OrderedDict 클래스 사용
  6. Python에서 Pandas.DataFrame 함수 사용
Python에서 사전의 키 변경

이 기사에서는 Python에서 사전의 키를 변경하는 다양한 방법을 소개합니다.

Python의 사전에서 새 키 할당 및 이전 키 삭제

Python에서 사전의 키를 변경하려면 다음 단계를 따르세요.

  1. 이전 키에 새 키를 할당합니다.
  2. 이전 키를 삭제합니다.

이러한 단계를 보여주는 아래의 예를 확인하십시오.

dict_ex[new_key] = dict_ex[old_key]
del dict_ex[old_key]

다음 코드는 이 방법을 보여줍니다.

dict_ex = {1: "January", 2: "Febuary", 3: "March"}
print("Old dictionary-", dict_ex)
dict_ex[2.1] = dict_ex[2]
del dict_ex[2]
print("New dictionary-", dict_ex)

여기에서 키 값 22.1 값으로 대체되었음을 알 수 있습니다. 업데이트된 키-값 쌍이 사전의 끝으로 이동한 방법에 유의하십시오.

출력:

Old dictionary- {1: 'January', 2: 'Febuary', 3: 'March'}
New dictionary- {1: 'January', 3: 'March', 2.1: 'Febuary'}

Python에서 pop() 함수 사용

Python에서 사전의 키를 변경하려면 다음 단계를 참조하십시오.

  • pop 기능을 사용하여 이전 키를 팝합니다. 이 예를 따르십시오.
    pop(old_key)
    
  • 팝업된 이전 키에 새 키를 할당합니다. 이 예를 따르십시오.
    dict_ex[new_key] = dict_ex.pop(old_key)
    

아래의 예는 이것을 보여줍니다.

dict_ex = {1: "January", 2: "Febuary", 3: "March"}
print("Old dictionary-", dict_ex)
dict_ex[2.2] = dict_ex.pop(2)
print("New dictionary-", dict_ex)

출력:

Old dictionary- {1: 'January', 2: 'Febuary', 3: 'March'}
New dictionary- {1: 'January', 3: 'March', 2.2: 'Febuary'}

여기에서 키 값 22.2 값으로 대체되었음을 알 수 있습니다. 업데이트된 키-값 쌍이 사전의 끝으로 이동한 방법에 유의하십시오.

for 루프를 사용하여 사전 탐색 및 Python 사전의 키 변경

이를 위해 먼저 대상 사전과 새 키 값을 포함하는 다른 사전을 가져옵니다. 그런 다음 for 루프를 사용하여 모든 키를 적절하게 전환합니다.

dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
print("Old dictionary-", dict_ex)
new_key_assign = {1: 111, 2: 2, 3: 3}
print("New dictionary-")
print(dict([(new_key_assign.get(key), value) for key, value in dict_ex.items()]))

여기에서 키 값 1111 값으로 대체되었음을 알 수 있습니다. 업데이트된 키-값 쌍이 이번에 어떻게 유지되었는지 확인하십시오.

출력:

Old dictionary- {1: 'Jan', 2: 'Feb', 3: 'Mar'}
New dictionary-
{111: 'Jan', 2: 'Feb', 3: 'Mar'}

Python에서 완전히 새로운 인스턴스 재구축

Python 3.7+ 사전에서 순서를 유지할 수 있습니다. 이를 위해 다음과 같이 사전의 완전히 새로운 인스턴스를 재구축합니다.

dict_ex = {"old_key": "Jan", 2: "Feb", 3: "Mar"}

{"new_key" if k == "old_key" else k: v for k, v in dict_ex.items()}

다음은 이를 보여주는 예입니다.

dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}

print({"one" if k == 1 else k: v for k, v in dict_ex.items()})

여기에서 키 값 1one 값으로 대체되었음을 알 수 있습니다. 업데이트된 키-값 쌍이 이번에 어떻게 유지되었는지 확인하십시오.

출력:

{'one': 'Jan', 2: 'Feb', 3: 'Mar'}

Python에서 OrderedDict 클래스 사용

Python 3.7+ 사전에서 생성기 표현식과 함께 OrderedDict를 사용하여 순서를 유지할 수 있습니다.

먼저 collections에서 OrderedDict를 가져와야 합니다. 그런 다음 OrderedDict 클래스를 사용합니다.

from collections import OrderedDict

dict_ex = {"old_key": "Jan", 2: "Feb", 3: "Mar"}
OrderedDict(("new_key" if k == 1 else k, v) for k, v in dict_ex.items())

다음은 따를 수 있는 예입니다.

from collections import OrderedDict

dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
OrderedDict(("one" if k == 1 else k, v) for k, v in dict_ex.items())

여기에서 키 값 1one 값으로 대체되었음을 알 수 있습니다. 업데이트된 키-값 쌍이 이번에 어떻게 유지되었는지 확인하십시오.

출력:

OrderedDict([('one', 'Jan'), (2, 'Feb'), (3, 'Mar')])

Python에서 Pandas.DataFrame 함수 사용

Pandas를 사용하여 Python에서 사전의 키를 변경할 수 있습니다. 먼저 pandas 라이브러리를 가져옵니다.

그런 다음 다음과 같이 DataFrame 유틸리티를 사용합니다.

import pandas as pd

old_dictionary = {"old_value": "Jan", 2: "Feb", 3: "Mar"}
new_dictionary = {"new_value": "Jan", 2: "Feb", 3: "Mar"}
df = pd.DataFrame([old_dictionary, new_dictionary])

이 예제 프로그램을 확인하십시오.

import pandas as pd

dict_ex = {1: "Jan", 2: "Feb", 3: "Mar"}
print(dict_ex)
new_dict_ex = {11: "Jan", 2: "Feb", 3: "Mar"}
df = pd.DataFrame([dict_ex, new_dict_ex])
print(new_dict_ex)

여기에서 키 값 111 값으로 대체되었음을 알 수 있습니다. 업데이트된 키-값 쌍이 이번에 어떻게 유지되었는지 확인하십시오.

출력:

{1: 'Jan', 2: 'Feb', 3: 'Mar'}
{11: 'Jan', 2: 'Feb', 3: 'Mar'}

관련 문장 - Python Dictionary