ホームページ  >  記事  >  バックエンド開発  >  Python 辞書でキーの名前を変更するにはどうすればよいですか?

Python 辞書でキーの名前を変更するにはどうすればよいですか?

DDD
DDDオリジナル
2024-11-02 13:15:02463ブラウズ

How do you Rename Keys in Python Dictionaries?

辞書キーの名前変更: 包括的なソリューション

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。