Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menyongskan Kamus Python dengan Nilai Senarai?

Bagaimanakah Saya Boleh Menyongskan Kamus Python dengan Nilai Senarai?

Mary-Kate Olsen
Lepaskan: 2024-10-31 05:55:01
asal
530 orang telah melayarinya

How Can I Invert a Python Dictionary with List Values?

Menyongsangkan Kamus dengan Nilai Senarai: Penyelesaian Komprehensif

Dalam domain pengaturcaraan Python, kamus ialah struktur yang sangat diperlukan untuk menyimpan data dengan pasangan nilai kunci. Kadangkala, keperluan timbul untuk menyongsangkan kamus, terutamanya apabila nilainya adalah senarai. Tugasan ini memberikan cabaran kerana sifat senarai yang tidak boleh dicincang. Walau bagaimanapun, wujud penyelesaian yang mudah untuk mengatasi halangan ini.

Untuk mencapai penyongsangan kamus dengan nilai senarai, seseorang boleh menggunakan coretan berikut:

<code class="python">inverse = {}
for k,v in index.items():
    for x in v:
        inverse.setdefault(x, []).append(k)</code>
Salin selepas log masuk

Dalam pendekatan ini, gelung luar berulang melalui kunci dan nilai kamus asal. Untuk setiap nilai (iaitu senarai), gelung dalaman berulang melalui setiap elemen senarai itu. Untuk setiap elemen yang ditemui, kelakuan kamus songsang ditentukan oleh logik berikut:

  • Jika unsur (x) sudah wujud sebagai kunci dalam kamus songsang, kunci daripada kamus asal (k) dilampirkan pada senarai nilai yang sepadan.
  • Jika elemen belum wujud sebagai kunci, kunci baharu dibuat dengan senarai kosong sebagai nilai dan kunci daripada kamus asal dilampirkan pada baharu ini senarai.

Proses ini menyongsangkan kamus asal dengan berkesan, dengan nilai (kunci asal) menjadi kunci dan kunci (nilai asal) diubah menjadi senarai kunci yang asalnya. Kamus songsang yang terhasil mengandungi format yang diingini.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyongskan Kamus Python dengan Nilai Senarai?. 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