Kamus Unik dalam Senarai Python
Senarai kamus adalah perkara biasa dalam aplikasi Python. Walau bagaimanapun, mengurus kamus pendua boleh menjadi mencabar. Artikel ini membincangkan cara untuk mengalih keluar pendua dengan cekap dan mendapatkan senarai kamus unik.
Pertimbangkan senarai kamus:
<code class="python">L = [ {'id': 1, 'name': 'john', 'age': 34}, {'id': 1, 'name': 'john', 'age': 34}, {'id': 2, 'name': 'hanna', 'age': 30} ]</code>
Mendekati Masalah
Untuk menyahduplikasi senarai kamus, pendekatan mudah melibatkan pengulangan senarai dan membandingkan setiap kamus dengan yang lain. Walau bagaimanapun, proses ini boleh menjadi mahal dari segi pengiraan untuk senarai besar.
Menggunakan Kamus Sementara
Penyelesaian yang lebih cekap memanfaatkan kamus sementara untuk mengendalikan penyahduplikasian. Kunci kamus ditetapkan kepada medan id setiap kamus, dan nilai ditetapkan kepada kamus itu sendiri. Operasi ini menapis pendua dengan berkesan kerana setiap id unik akan sepadan dengan hanya satu entri kamus.
Mendapatkan Kamus Unik
Setelah kamus sementara diisi, nilai (yang mewakili kamus unik) boleh diambil menggunakan kaedah values().
Pelaksanaan Python
Python 2.7:
<code class="python">{v['id']:v for v in L}.values()</code>
Python 3:
<code class="python">list({v['id']:v for v in L}.values())</code>
Python 2.5/2.6:
<code class="python">dict((v['id'],v) for v in L).values()</code>
Penyelesaian ringkas ini menghasilkan senarai unik kamus:
<code class="python">[ {'id': 1, 'name': 'john', 'age': 34}, {'id': 2, 'name': 'hanna', 'age': 30} ]</code>
Pendekatan ini menghapuskan pendua dengan cekap dengan memanfaatkan kamus sementara untuk mengenal pasti dan mengekstrak nilai kamus yang unik.
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Kamus Pendua dengan Cekap dari Senarai Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!