操作字典時,可能需要重命名鍵而不將其值重新分配給新名稱或迭代字典。這可以根據所使用的字典類型使用不同的方法來實現。
對於常規Python 字典,可以使用以下程式碼片段:
<code class="python">mydict[k_new] = mydict.pop(k_old)</code>
這會移動對應的項目到要重新命名到字典末尾的鍵,除非字典中已經存在k_new,在在這種情況下,它將用重新命名的值覆寫現有值key.
對於需要保留鍵順序的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中文網其他相關文章!