Bagaimana untuk menamakan semula Kunci Kamus dalam Python Tanpa Penugasan Semula atau Lelaran?

Mary-Kate Olsen
Lepaskan: 2024-11-03 07:57:29
asal
946 orang telah melayarinya

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

Menamakan semula Kunci Kamus Tanpa Penugasan Semula atau Lelaran

Apabila memanipulasi kamus, mungkin perlu untuk menamakan semula kunci tanpa menugaskan semula nilainya kepada nama baharu atau berulang melalui kamus. Ini boleh dicapai menggunakan kaedah berbeza bergantung pada jenis kamus yang digunakan.

Untuk kamus Python biasa, coretan kod berikut boleh digunakan:

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

Ini mengalihkan item yang sepadan kepada kunci yang akan dinamakan semula ke penghujung kamus, melainkan k_new sudah wujud dalam kamus, dalam hal ini ia akan menimpa nilai sedia ada dengan nilai daripada kunci yang dinamakan semula.

Untuk Python 3.7 OrderedDict di mana pesanan kunci perlu dipelihara, contoh baharu kamus perlu dibuat. Contohnya, untuk menamakan semula kunci 2 kepada 'dua':

<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>
Salin selepas log masuk

Pendekatan yang sama boleh digunakan untuk OrderedDicts, menggunakan ungkapan penjana:

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

Perlu diperhatikan bahawa mengubah suai kunci itu sendiri, seperti yang dicadangkan oleh soalan, biasanya tidak boleh dilaksanakan kerana kunci dalam kamus biasanya boleh dicincang dan tidak boleh diubah.

Atas ialah kandungan terperinci Bagaimana untuk menamakan semula Kunci Kamus dalam Python Tanpa Penugasan Semula atau Lelaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan