Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Saya Boleh Mengalih Keluar Kamus Pendua daripada Senarai Python Semasa Memelihara atau Mengabaikan Perintah?
Mengalih keluar Kamus Pendua daripada Senarai dalam Python
Memandangkan senarai kamus, matlamatnya adalah untuk mengalih keluar semua kamus yang berkongsi kunci yang sama- pasangan nilai. Sebagai contoh, menukar senarai [{'a': 123}, {'b': 123}, {'a': 123}] kepada [{'a': 123}, {'b': 123}] akan mencapai objektif ini.
Untuk mencapainya, anda boleh menggunakan teknik yang mudah tetapi berkesan:
[dict(t) for t in {tuple(d.items()) for d in l}]
Pendekatan ini beroperasi dalam tiga langkah berbeza:
Pembolehubah dalam coretan kod mewakili yang berikut:
Jika mengekalkan susunan asal kamus adalah penting, anda boleh menggunakan pendekatan yang diubah suai berikut:
seen = set() new_l = [] for d in l: t = tuple(d.items()) if t not in seen: seen.add(t) new_l.append(d)
Kod ini menggabungkan langkah tambahan untuk mengekalkan set yang dilihat kepada menjejaki tupel (dan dengan itu kamus) yang telah ditemui. Jika tuple tidak ditemui dalam set yang dilihat, ia akan ditambahkan pada set dan kamus yang sepadan dilampirkan pada senarai new_l.
Adalah penting untuk ambil perhatian bahawa membandingkan kamus secara langsung menggunakan kesamaan (==) mungkin tidak selalu menghasilkan hasil yang diingini jika kamus telah diubah suai dengan cara yang berbeza. Jika susunan pasangan nilai kunci penting, anda disyorkan untuk mengisih item kamus sebelum membuat tupel.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar Kamus Pendua daripada Senarai Python Semasa Memelihara atau Mengabaikan Perintah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!