>백엔드 개발 >파이썬 튜토리얼 >Python 사전에서 키 이름을 어떻게 바꾸나요?

Python 사전에서 키 이름을 어떻게 바꾸나요?

DDD
DDD원래의
2024-11-02 13:15:02564검색

How do you Rename Keys in Python Dictionaries?

사전 키 이름 바꾸기: 포괄적인 솔루션

Python 사전은 키-값을 효율적으로 저장하고 검색할 수 있는 다목적 데이터 구조입니다. 한 쌍. 그러나 특정 시나리오에서는 값을 변경하거나 사전 구성을 방해하지 않고 키 이름을 바꿔야 할 수도 있습니다. 이 질문은 이 문제를 다루고 일반 사전과 OrderedDicts 모두에 맞는 다양한 솔루션을 제공합니다.

Regular Dict

일반 사전의 경우 간단한 접근 방식은 이전 키를 제거하는 pop() 메서드와 새 키에 값을 할당하는 [] 연산자:

<code class="python">mydict["k_new"] = mydict.pop("k_old")</code>

이 작업은 k_new가 이미 존재하지 않는 한 항목을 사전의 끝으로 효과적으로 이동합니다. 이 경우 해당 값을 덮어씁니다.

OrderedDict

Python 3.7에 도입된 OrderedDict는 키-값 쌍의 삽입 순서를 유지합니다. 순서를 유지하면서 키 이름을 바꾸려면:

<code class="python">OrderedDict((k_new if k == k_old else k, v) for k, v in od.items())</code>

생성기 표현식을 사용하여 새 키에 값을 다시 할당하여 순서가 유지되도록 합니다.

Python 3.7 Dict에서 순서 유지

Python 3.7 사전은 기본적으로 삽입 순서를 유지합니다. 이 순서를 유지하면서 키 이름을 바꾸려면:

<code class="python">d = {0:0, 1:1, 2:2, 3:3}
{k: v for k, v in d.items() if k != k_old} | {k_new: d[k_old]}</code>

키 자체 수정

키 자체 수정에 대한 질문입니다. 그러나 Python에서는 키가 해시 가능하고 불변이므로 직접 키 수정이 불가능합니다. 그러나 원하는 키 이름으로 값을 다시 할당하고 이전 키를 제거하면 사전은 그대로 유지되므로 키를 직접 수정하지 않고도 효과적으로 키의 "이름을 바꿀 수 있습니다".

위 내용은 Python 사전에서 키 이름을 어떻게 바꾸나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.