辞書キーの名前変更: 包括的なソリューション
Python 辞書は、キーと値の効率的な保存と取得を可能にする多用途のデータ構造です。ペア。ただし、特定のシナリオでは、値を変更したりディクショナリの構成を妨げたりすることなく、キーの名前を変更する必要がある場合があります。この質問はこの問題に対処し、通常の辞書と OrderedDict の両方に合わせたさまざまな解決策を提供します。
通常の辞書
通常の辞書の場合、簡単なアプローチには、 Pop() メソッドで古いキーを削除し、[] 演算子で新しいキーに値を割り当てます:
<code class="python">mydict["k_new"] = mydict.pop("k_old")</code>
この操作は、k_new がすでに存在しない限り、項目を辞書の最後に効果的に移動します。この場合、その場で値が上書きされます。
OrderedDict
OrderedDict は、Python 3.7 で導入され、キーと値のペアの挿入順序を保持します。順序を維持しながらキーの名前を変更するには:
<code class="python">OrderedDict((k_new if k == k_old else k, v) for k, v in od.items())</code>
これにより、ジェネレーター式を使用して新しいキーに値が再割り当てされ、順序が確実に保持されます。
Python 3.7 辞書での順序の保持
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 中国語 Web サイトの他の関連記事を参照してください。