Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah cara saya mengekstrak senarai kamus unik daripada senarai kamus yang berpotensi menjadi pendua?

Bagaimanakah cara saya mengekstrak senarai kamus unik daripada senarai kamus yang berpotensi menjadi pendua?

Mary-Kate Olsen
Lepaskan: 2024-10-26 08:53:03
asal
787 orang telah melayarinya

How do I extract a list of unique dictionaries from a list of potentially duplicate dictionaries?

Cara Mendapatkan Senarai Kamus Unik

Memandangkan senarai kamus, mendapatkan senarai kamus unik boleh berguna untuk pelbagai tujuan. Cabarannya terletak pada mengalih keluar kamus pendua sambil mengekalkan kandungan.

Penyelesaian

Satu pendekatan yang cekap melibatkan mencipta kamus sementara di mana kuncinya ialah pengecam unik daripada setiap kamus. Ini dengan berkesan menapis sebarang pendua. Nilai kamus sementara ini kemudiannya boleh diambil semula sebagai senarai kamus unik.

<code class="python"># In Python 3
unique_dicts = list({v['id']:v for v in L}.values())

# In Python 2.7
unique_dicts = {v['id']:v for v in L}.values()</code>
Salin selepas log masuk

Contoh

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

Selepas memohon penyelesaiannya:

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

Key Insight

Cerapan utama ialah kamus boleh ditukar kepada perwakilan unik dengan menggunakan pengecam biasa sebagai kunci. Ini membolehkan penapisan pendua yang cekap sambil mengekalkan kandungan kamus asal.

Atas ialah kandungan terperinci Bagaimanakah cara saya mengekstrak senarai kamus unik daripada senarai kamus yang berpotensi menjadi pendua?. 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