En liste er en beholder som inneholder forskjellige Python-objekter, som kan være heltall, ord, verdier osv. Det tilsvarer en matrise i andre programmeringsspråk.
Så her vil vi gå gjennom forskjellige måter vi kan fjerne duplikater fra en gitt liste.
I denne opplæringen lærer du:
- Fjern duplikater fra listen ved hjelp av Set
- Fjern duplikater fra en liste ved hjelp av den midlertidige listen.
- Fjern duplikater fra listen ved hjelp av Dict
- Fjern duplikater fra en liste ved hjelp av for-loop
- Fjern duplikater fra listen ved hjelp av listeforståelse
- Fjern duplikater fra listen ved hjelp av Numpy unik () metode.
- Fjern duplikater fra listen ved hjelp av Pandas-metoder
- Fjern duplikater ved å bruke enumerate () og listeforståelse
Fjern duplikater fra listen ved hjelp av Set
Hvis du vil fjerne duplikatene fra en liste, kan du bruke det innebygde funksjonssettet (). Spesialiteten til set () -metoden er at den returnerer forskjellige elementer.Vi har en liste: [1,1,2,3,2,2,4,5,6,2,1]. Listen har mange duplikater som vi trenger å fjerne og få tilbake bare de forskjellige elementene. Listen er gitt til den innebygde funksjonen (). Senere vises den endelige listen ved å bruke den innebygde listen (), som vist i eksemplet nedenfor.
Resultatet vi får er forskjellige elementer der alle duplikatelementene elimineres.
my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))
Produksjon:
[1, 2, 3, 4, 5, 6]
Fjern duplikater fra en liste ved hjelp av den midlertidige listen
For å fjerne duplikater fra en gitt liste, kan du bruke en tom midlertidig liste. For det første må du gå gjennom listen med duplikater og legge til de unike elementene i den midlertidige listen. Senere tilordnes den midlertidige listen til hovedlisten.
Her er et arbeidseksempel som bruker midlertidig liste.
my_list = [1, 2, 3, 1, 2, 4, 5, 4 ,6, 2]print("List Before ", my_list)temp_list = []for i in my_list:if i not in temp_list:temp_list.append(i)my_list = temp_listprint("List After removing duplicates ", my_list)
Produksjon:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Fjern duplikater fra listen ved hjelp av Dict
Vi kan fjerne duplikater fra listen ved å importere OrderedDict fra samlinger. Den er tilgjengelig fra python2.7 og utover. OrderedDict tar seg av å returnere de forskjellige elementene i en rekkefølge der nøkkelen er til stede.
La oss gjøre bruk av en liste og bruke fromkeys () -metoden tilgjengelig i OrderedDict for å få de unike elementene fra listen.
For å gjøre bruk av OrderedDict.fromkey () -metoden, må du importere OrderedDict fra samlinger, som vist nedenfor:
from collections import OrderedDict
Her er et eksempel for å fjerne duplikater ved hjelp av metoden OrderedDict.fromkeys ().
from collections import OrderedDictmy_list = ['a','x','a','y','a','b','b','c']my_final_list = OrderedDict.fromkeys(my_list)print(list(my_final_list))
Produksjon:
['a', 'x', 'y', 'b', 'c']
Fra Python 3.5+ kan vi bruke de vanlige dict.fromkeys () for å få de forskjellige elementene fra listen. Metodene dict.fromkeys () returnerer nøkler som er unike og hjelper til med å bli kvitt duplikatverdiene.
Et eksempel som viser hvordan dict.fromkeys () fungerer på en liste for å gi de unike elementene, er som følger:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Produksjon:
['a', 'x', 'y', 'b', 'c']
Fjern duplikater fra en liste ved hjelp av for-loop
Ved hjelp av for-loop vil vi krysse listen over elementer for å fjerne duplikater.
Initialiser først matrisen for å tømmes, dvs. myFinallist = []. Inne i for-loop, legg til om elementene i listen finnes i arrayen myFinallist. Hvis elementene ikke eksisterer, legg til elementet i arrayet myFinallist ved hjelp av append () metode.
Så når duplikatelementet oppstår, vil det allerede være til stede i arrayet myFinallist og vil ikke bli satt inn. La oss nå sjekke det samme i eksemplet nedenfor:
my_list = [1,2,2,3,1,4,5,1,2,6]myFinallist = []for i in my_list:if i not in myFinallist:myFinallist.append(i)print(list(myFinallist))
Produksjon:
[1, 2, 3, 4, 5, 6]
Fjern duplikater fra listen ved hjelp av listeforståelse
Listeforståelse er Python-funksjoner som brukes til å lage nye sekvenser (for eksempel lister, ordbøker osv.) Ved hjelp av sekvenser som allerede er opprettet. Dette hjelper deg med å redusere lengre sløyfer og gjøre koden lettere å lese og vedlikeholde.
La oss gjøre bruk av listeforståelse for å fjerne duplikater fra listen som er gitt.
my_list = [1,2,2,3,1,4,5,1,2,6]my_finallist = [][my_finallist.append(n) for n in my_list if n not in my_finallist]print(my_finallist)
Produksjon:
[1, 2, 3, 4, 5, 6]
Fjern duplikater fra listen ved hjelp av Numpy unik () metode.
Metoden unik () fra Numpy-modulen kan hjelpe oss med å fjerne duplikat fra listen som er gitt.
For å jobbe med Numpy first import numpy-modul, må du følge disse trinnene:
Trinn 1 ) Importer Numpy-modul
import numpy as np
Trinn 2) Bruk listen din med duplikater i den unike metoden som vist nedenfor. Utdataene konverteres tilbake til et listeformat ved hjelp av tolist () -metoden.
myFinalList = np.unique(my_list).tolist()
Trinn 3) Skriv til slutt ut listen som vist nedenfor:
print(myFinalList)
Den endelige koden med utdata er som følger:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Produksjon:
[1, 2, 3, 4, 5, 6]
Fjern duplikater fra listen ved hjelp av Pandas-metoder
Pandas-modulen har en unik () metode som gir oss de unike elementene fra listen som er gitt.
For å jobbe med Pandas-modulen, må du følge disse trinnene:
Trinn 1) Importer Pandas-modulen
import pandas as pd
Trinn 2) Bruk listen din med duplikater i unik () metode som vist nedenfor:
myFinalList = pd.unique(my_list).tolist()
Trinn 3) Skriv ut listen som vist nedenfor:
print(myFinalList)
Den endelige koden med utdata er som følger:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Produksjon:
[1, 2, 3, 4, 5, 6]
Fjern duplikater ved å bruke enumerate () og listeforståelse
Her er kombinasjonen av listeforståelse og oppregning for å fjerne duplikatelementene. Enumerate returnerer et objekt med en teller til hvert element i listen. For eksempel (0,1), (1,2) osv. Her er den første verdien indeksen, og den andre verdien er listeelementet. W
Hvert element blir sjekket om det finnes i listen, og hvis det gjør det, blir det fjernet fra listen.
my_list = [1,2,2,3,1,4,5,1,2,6]my_finallist = [i for j, i in enumerate(my_list) if i not in my_list[:j]]print(list(my_finallist))
Produksjon:
[1, 2, 3, 4, 5, 6]
Sammendrag
- Hvis du vil fjerne duplikatene fra en liste, kan du bruke det innebygde funksjonssettet (). Spesialiteten til set () -metoden er at den returnerer forskjellige elementer.
- Du kan fjerne duplikater fra den gitte listen ved å importere OrderedDictfrom-samlinger. Den er tilgjengelig fra python2.7 og utover. OrderedDictdict tar seg av å returnere de forskjellige elementene i en rekkefølge der nøkkelen er til stede.
- Du kan bruke en for-loop som vi vil krysse listen over elementer for å fjerne duplikater.
- Metoden unik () fra Numpy-modulen kan hjelpe oss med å fjerne duplikat fra listen som er gitt.
- Pandas-modulen har en unik () metode som gir oss de unike elementene fra listen som er gitt.
- Kombinasjonen av listeforståelse og enumerate brukes til å fjerne dupliserte elementer fra listen. Enumerate returnerer et objekt med en teller til hvert element i listen.