Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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
Mary-Kate Olsenasal
2024-10-26 08:53:03713semak imbas

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>

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>

Selepas memohon penyelesaiannya:

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

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!

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