ホームページ  >  記事  >  バックエンド開発  >  値や反復を再割り当てせずに、Python で辞書キーの名前を変更する方法は?

値や反復を再割り当てせずに、Python で辞書キーの名前を変更する方法は?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-04 07:02:31976ブラウズ

How to Rename Dictionary Keys in Python Without Reassigning Values or Iteration?

Python での辞書キーの名前変更

問題は、値を再割り当てしたり、辞書自体を反復処理したりせずに、辞書キーの名前を変更できるかということです。

通常の辞書:

通常の辞書の場合、名前変更は次のコードで実行できます:

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

このコードでは、 k_new がすでに存在しない限り、項目は辞書の最後に移動されます。その場合、その値は上書きされます。

Ordered Dictionary (Python 3.7 ):

OrderedDict の場合、順序を維持する必要があります。キーの名前を変更する最も簡単な方法は、目的のキー名で新しい辞書を作成することです:

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

順序付き辞書 (一般):

一般に、キーは不変で変更できないため、キー自体は実用的ではありません。したがって、解決策は、ジェネレータ式を使用して、目的のキー名を持つ新しい辞書を作成することです:

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

以上が値や反復を再割り当てせずに、Python で辞書キーの名前を変更する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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