Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Membalikkan Kamus dengan Nilai Senarai?

Bagaimana untuk Membalikkan Kamus dengan Nilai Senarai?

Susan Sarandon
Lepaskan: 2024-10-29 18:55:02
asal
1056 orang telah melayarinya

How to Reverse a Dictionary with List Values?

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

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

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!

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