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

Bagaimana untuk Mengeluarkan Kamus Pendua dengan Cekap dari Senarai Python?

Linda Hamilton
Lepaskan: 2024-11-01 11:29:02
asal
243 orang telah melayarinya

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

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

Python 3:

<code class="python">list({v['id']:v for v in L}.values())</code>
Salin selepas log masuk

Python 2.5/2.6:

<code class="python">dict((v['id'],v) for v in L).values()</code>
Salin selepas log masuk

Penyelesaian ringkas ini menghasilkan senarai unik kamus:

<code class="python">[
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30}
]</code>
Salin selepas log masuk

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!

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