辞書を操作するとき、値を新しい名前に再割り当てしたり、キーを反復したりせずに、キーの名前を変更する必要がある場合があります。辞書。これは、使用されている辞書の種類に応じて、さまざまな方法を使用して実現できます。
通常の Python 辞書の場合、次のコード スニペットを使用できます:
<code class="python">mydict[k_new] = mydict.pop(k_old)</code>
これにより、対応する項目が移動されます。 k_new がディクショナリにすでに存在しない限り、名前を変更するキーをディクショナリの末尾に追加します。その場合、名前変更されたキーの値で既存の値が上書きされます。
Python 3.7 OrderedDict の場合、キーの順序を保持する必要がある場合は、辞書の新しいインスタンスを作成する必要があります。たとえば、キー 2 の名前を 'two' に変更するには:
<code class="python">d = {0:0, 1:1, 2:2, 3:3} new_d = { "two" if k == 2 else k: v for k, v in d.items() }</code>
ジェネレーター式を使用して、同じアプローチを OrderedDicts に適用できます。
<code class="python">new_od = OrderedDict( (k_new if k == k_old else k, v) for k, v in od.items() )</code>
質問が示唆しているように、辞書内のキーは通常ハッシュ可能で不変であるため、キー自体は通常は実現不可能です。
以上が再割り当てや反復を行わずに Python で辞書キーの名前を変更する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。