Python teller duplikat på listen

Python teller duplikat på listen
Å ha duplikater i dataene dine kan forårsake alvorlige problemer, spesielt når du jobber med store datamengder for dataanalyse eller databehandling. Derfor er det programmererens plikt å oppdage duplikater og slette dem fra dataene. Dette innlegget vil fokusere på førstnevnte og forklare de forskjellige metodene som brukeren enkelt kan oppdage og telle duplikater i en Python -liste.

Innholdet i denne guiden er gitt nedenfor:

  • Metode 1: Bruke liste for å angi konvertering
  • Metode 2: Bruke listeforståelse og count () -metode
  • Metode 3: Bruke listeforståelsen med IF-NOT-IN-tilstand

La oss starte med den første metoden med en gang!

Metode 1: Bruke liste for å angi konvertering

En liste i Python kan inneholde duplikater, noe som betyr at det ikke er noen unikhet som den som finnes i Python -sett. Derfor er en enkel måte å oppdage hvis det er noen duplikater i en Python -liste å konvertere den til et sett og sammenligne størrelsen på begge.

For å demonstrere dette, start med å lage en liste i Python ved å bruke følgende kode:

Listvar = [123,46,11,78,334,46,98,11,90]

Etter det, bruk SET () -metoden for å konvertere denne listen til et sett og lagre den inne i en egen variabel:

setvar = set (listvar)

Skriv ut antall elementer i begge ved å bruke Len () -metoden:

Print ("Elements in List:", Len (Listvar))
Print ("Elements in Set:", Len (Setvar))

Når denne koden blir utført, gir den følgende resultater på terminalen:

I følge utdataene er antall elementer i listen 9 og 7 for settet. Dette betyr at det er totalt to duplikater på listen. Men i stedet for å beregne duplikater manuelt, kan du også bruke følgende linje:

Print ("Antall duplikater i listen", Len (Listvar) -Len (Setvar))

Det komplette kodebiten med denne nye utskriftserklæringen er:

Listvar = [123,46,11,78,334,46,98,11,90]
setvar = set (listvar)
Print ("Antall duplikater i listen", Len (Listvar) -Len (Setvar))

Når denne koden blir utført, gir den følgende resultat på terminalen:

Som du ser fra utgangsbildet, er det totalt to duplikater på listen.

Metode 2: Bruke listeforståelse og count () -metode

En annen metode for å skrive ut duplikatene til en liste er ved å bruke listeforståelsesmetoden for å hente hver verdi fra listen og deretter bruke Count () -metoden for å sjekke tellingen i listen. Hvis resultatet av count () -metoden er større enn en, kan du legge til elementet i en liste over duplikater.

For å demonstrere arbeidet med denne metoden, ta følgende kode:

Listvar = [123,46,11,78,334,46,98,11,90]
duplicatevar = []
for x i listvar:
Hvis listvar.telle (x)> 1:
Duplicatevar.vedlegg (x)
Print ("Duplikatene som finnes på listen er:", Duplicatevar)

Når denne koden blir utført, gir den følgende resultat på terminalen din:

Som du ser fra utgangen, var verdiene “46” og “11” til stede to ganger hver.

Metode 3: Bruke listeforståelsen med IF-NOT-IN-tilstand

En annen metode for å finne duplikater i en liste er ved å bruke listeforståelsen og anvende IF-NOT-IN-tilstanden.

Ta følgende kodebit for denne metoden:

Listvar = [123,46,11,78,334,46,98,11,90]
UniquelistVar = []
duplicatelistvar = []
for x i listvar:
Hvis x ikke i Uniquelistvar:
Uniquelistvar.vedlegg (x)
ellers:
Duplicatelistvar.vedlegg (x)
Print ("Listen over unike elementer er:", Uniquelistvar)
Print ("Duplikatene som finnes på listen er:", Duplicatelistvar)

I denne kodebiten:

  • To nye lister er opprettet, en for å lagre hver unike verdi, og en for å lagre hver gjentagelse/duplikatverdi
  • Hvert element blir sjekket mot verdiene som er lagret inne i den unike verdilisten, og hvis det ikke allerede eksisterer der, er det vedlagt den.
  • Hvis den allerede eksisterer der, er den lagt til listen over dupliserte verdier.
  • På slutten, skriv ut begge listene på terminalen ved hjelp av metoden Print ()

Når denne koden blir utført, gir den følgende resultat på terminalen din:

Fra utgangen kan det sees at verdiene “46” og “11” var duplikater, og derfor er bare ett av deres tilfeller igjen i listen over unike verdier.

Konklusjon

For å finne duplikater i en liste, kan brukeren bruke forskjellige tilnærminger som inkluderer konvertering av listen til en streng, ved hjelp av listeforståelsen med count () -metoden, eller ved å bruke IF-NOT-IN-tilstanden med listeforståelsen. Den raskeste metoden for å fjerne duplikatene fra listen er imidlertid konvertering av listen til et sett.