Matlamat anda adalah untuk menyongsangkan kamus (indeks) dengan nilai senarai supaya kamus yang terhasil (terbalik) mempunyai nilai pendua digabungkan menjadi satu kunci dengan kunci asal sebagai nilai.
Fungsi yang disediakan, invert_dict, gagal apabila menemui nilai senarai disebabkan oleh sifat senarai yang tidak boleh dicincang. Untuk menyelesaikan masalah ini, pertimbangkan penyelesaian berikut:
<code class="python">inverse = {} for k, v in index.items(): for x in v: inverse.setdefault(x, []).append(k)</code>
Penyelesaian ini berulang melalui kamus asal (indeks), mengakses setiap kunci (k) dan nilai (v). Untuk setiap nilai dalam v (iaitu senarai), ia menambah kunci yang berkaitan pada senarai dalam kamus songsang menggunakan kaedah setdefault. Kaedah ini mencipta entri baharu untuk setiap nilai unik dalam v dan menambahkan kunci pada senarai yang berkaitan.
Akibatnya, kamus songsang akan mengandungi struktur songsang yang diingini, dengan setiap nilai merupakan senarai kunci asal di mana nilai itu muncul.
Atas ialah kandungan terperinci Bagaimana untuk Menyongsangkan Kamus dengan Nilai Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!