首頁 > 後端開發 > Python教學 > 如何在Python中重新命名字典鍵而不重新分配或迭代?

如何在Python中重新命名字典鍵而不重新分配或迭代?

Mary-Kate Olsen
發布: 2024-11-03 07:57:29
原創
1009 人瀏覽過

How to Rename a Dictionary Key in Python Without Reassignment or Iteration?

重新命名字典鍵而不重新分配或迭代

操作字典時,可能需要重命名鍵而不將其值重新分配給新名稱或迭代字典。這可以根據所使用的字典類型使用不同的方法來實現。

對於常規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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板