Menterbalikkan Kamus dengan Nilai Senarai
Menyongsangkan kamus melibatkan penciptaan kamus baharu di mana kunci dan nilai kamus asal ditukar. Apabila kamus asal mengandungi nilai senarai, ia memberikan cabaran kerana ketidakupayaan Python untuk menyenaraikan senarai.
Menggunakan Tuples untuk Tuple Keys
Satu pendekatan untuk menangani isu ini ialah dengan tukar nilai senarai kepada tupel. Tuples tidak boleh diubah dan boleh dicincang, membolehkan ia berfungsi sebagai kunci dalam kamus.
Pertimbangkan kod berikut:
<code class="python">inverted_index = {} for key, values in index.items(): for value in values: tuple_key = (key, value) inverted_index.setdefault(tuple_key, []).append(key)</code>
Kod ini mencipta kunci baharu untuk setiap gabungan unik bagi kunci dan nilai asal. Kamus indeks_terbalik kemudian diisi dengan pasangan nilai kunci terbalik.
Menggunakan Set untuk Nilai Unik
Sebagai alternatif, anda boleh menggunakan set untuk mengendalikan nilai pendua dalam terbalik kamus. Set ialah koleksi unsur unik yang tidak tersusun.
<code class="python">inverted_index = {} for key, values in index.items(): unique_values = set(values) for value in unique_values: inverted_index.setdefault(value, set()).add(key)</code>
Kod ini mencipta satu set nilai unik untuk setiap kunci asal. Kamus indeks_terbalik kemudian diisi dengan pasangan nilai kunci terbalik, yang nilainya adalah set kunci asal yang unik.
Atas ialah kandungan terperinci Bagaimana untuk Membalikkan Kamus dengan Nilai Senarai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!