cari
Rumahpembangunan bahagian belakangTutorial PythonBagaimanakah Kami Boleh Mencari dan Mengeluarkan Elemen Pendua dengan Cekap daripada Senarai?

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]

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)

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)]

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!

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
Python: menyelam mendalam ke dalam kompilasi dan tafsiranPython: menyelam mendalam ke dalam kompilasi dan tafsiranMay 12, 2025 am 12:14 AM

Pythonusesahybridmodelofcompilationandinterpretation: 1) thepythoninterpretercompilessourcodcecodeintoplatform-independentbytecode.2) thepythonvirtualmachine (PVM) thenexecutesthisbytecode, BalantingeaseOfusoWithperformance.

Adakah Python diterjemahkan atau bahasa yang disusun, dan mengapa ia penting?Adakah Python diterjemahkan atau bahasa yang disusun, dan mengapa ia penting?May 12, 2025 am 12:09 AM

Pythonisbothinterpretedandandcompiled.1) it'scompiledtobytecodeforporabilityAcrossplatforms.2) theBytecodeistheninterpreted, membolehkanfordynamictypingandrapiddevelopment, walaupunItmayBeslowerLowerWanLelyCiledlanguages.

Untuk gelung vs semasa gelung di python: perbezaan utama dijelaskanUntuk gelung vs semasa gelung di python: perbezaan utama dijelaskanMay 12, 2025 am 12:08 AM

ForloopsareidealwhenyonesshenumberofiterationsationseSinadvance, whilewhileloopsarebetterforsituationshipheryouneedtoloopuntilaconditionismet.forloopsaremoreeficientablyandable, yang sesuai, manakala whileloopsoffermorecontrolandareusefereficeficeficeficeficient,

Untuk dan semasa gelung: panduan praktikalUntuk dan semasa gelung: panduan praktikalMay 12, 2025 am 12:07 AM

Forloopsareusedwhenthenumberofiterationsisknowninadvance, whilewhileloopsareusedwhenTheiterationsdependonacondition.1) forloopsareidealforiteratingoversequencesLikeListsorArrays.2)

Python: Adakah ia benar -benar ditafsirkan? Membebaskan mitosPython: Adakah ia benar -benar ditafsirkan? Membebaskan mitosMay 12, 2025 am 12:05 AM

Pythonisnotpurelyinterinterpreted; itusesahybridapproachofbytecodecompilationandruntimeinterpretation.1) pythoncompilessourcecodeintobytecode, whoomeSthenexecutedbythepythonvirtualmachine (pvm)

Senarai concatenate python dengan elemen yang samaSenarai concatenate python dengan elemen yang samaMay 11, 2025 am 12:08 AM

ToConcatenatelistsinpythonwiththesameelements, gunakan: 1) operatortokokduplicates, 2) asettoremoveduplicates, OR3) listomprehensionfensionfensionfensionfensiontroloverduplicates, setiapmethodhasdifferentperformanceAdordlications.

Ditafsirkan vs bahasa yang disusun: Tempat PythonDitafsirkan vs bahasa yang disusun: Tempat PythonMay 11, 2025 am 12:07 AM

Pythonisaninterpretedlanguage, menawarkanfuseofuseandflexibilitybutfacingperpormancelimitationsincriticalapplications.1) interpretlanguagesepythonexecuteline-by-line, membolehkanMmediateDebackandrapidprototyping.2)

Untuk dan semasa gelung: Bilakah anda menggunakan setiap python?Untuk dan semasa gelung: Bilakah anda menggunakan setiap python?May 11, 2025 am 12:05 AM

Useforloopswhenthenumberofiterationsisknowninadvance,andwhileloopswheniterationsdependonacondition.1)Forloopsareidealforsequenceslikelistsorranges.2)Whileloopssuitscenarioswheretheloopcontinuesuntilaspecificconditionismet,usefulforuserinputsoralgorit

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Nordhold: Sistem Fusion, dijelaskan
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang laluBy尊渡假赌尊渡假赌尊渡假赌

Alat panas

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat

Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Versi Mac WebStorm

Versi Mac WebStorm

Alat pembangunan JavaScript yang berguna

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual