Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Kami Boleh Mencari dan Mengeluarkan Elemen Pendua dengan Cekap daripada Senarai?

Bagaimanakah Kami Boleh Mencari dan Mengeluarkan Elemen Pendua dengan Cekap daripada Senarai?

DDD
Lepaskan: 2025-01-01 03:47:09
asal
478 orang telah melayarinya

How Can We Efficiently Find and Remove Duplicate Elements from a List?

Mencari Pendua dalam Senarai

Memandangkan senarai integer, objektifnya adalah untuk mengenal pasti dan mengasingkan elemen pendua dalam senarai. Untuk mencapai matlamat ini, kami boleh menggunakan pelbagai teknik:

Menggunakan Struktur Data Set

Set ialah koleksi unsur unik yang tidak tertib. Untuk mengalih keluar pendua daripada senarai, kita boleh menukarnya kepada set menggunakan fungsi set(a). Set yang terhasil hanya akan mengandungi unsur-unsur yang berbeza daripada senarai asal.

Mengenal pasti dan Mencetak Pendua

Untuk mengenal pasti dan mencetak pendua, kami boleh menggunakan modul Counter daripada perpustakaan koleksi. Ia menyediakan kaedah yang mudah untuk mengira kejadian setiap elemen dalam senarai. Dengan menggunakan pemahaman, kita boleh mengekstrak elemen yang berlaku lebih daripada sekali:

from collections import Counter

a = [1,2,3,2,1,5,6,5,5,5]
print([item for item, count in Counter(a).items() if count > 1])

# Output: [1, 2, 5]
Salin selepas log masuk

Penyingkiran Pendua yang Cekap

Untuk penyingkiran pendua yang cekap, gelung mudah boleh digunakan untuk mengekalkan satu set elemen yang dilihat. Apabila menemui elemen baharu, ia ditambahkan pada set, menunjukkan bahawa ia telah dilihat. Jika elemen sudah ada dalam set, ia dianggap pendua dan boleh dibuang.

seen = set()
no_dupes = []

for x in a:
    if x not in seen:
        no_dupes.append(x)
        seen.add(x)
Salin selepas log masuk

Penyingkiran Pendua Ringkas

Pendekatan ringkas alternatif untuk penyingkiran pendua adalah untuk menggunakan senarai pemahaman:

seen = set()
no_dupes = [x for x in a if x not in seen and not seen.add(x)]
Salin selepas log masuk

Mengendalikan Elemen Tidak Boleh Cincang

Jika elemen dalam senarai tidak boleh cincang (seperti senarai), set dan kamus tidak boleh digunakan. Dalam kes sedemikian, penyelesaian masa kuadratik mesti digunakan, di mana setiap elemen dibandingkan dengan setiap elemen lain.

Atas ialah kandungan terperinci Bagaimanakah Kami Boleh Mencari dan Mengeluarkan Elemen Pendua dengan Cekap daripada Senarai?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan