Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengeluarkan Kamus Pendua dengan Cekap dari Senarai Python?

Bagaimana untuk Mengeluarkan Kamus Pendua dengan Cekap dari Senarai Python?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 11:29:02144semak imbas

How to Efficiently Remove Duplicate Dictionaries from a Python List?

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!

Kenyataan:
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