Een lijst is een container die verschillende Python-objecten bevat, zoals gehele getallen, woorden, waarden, enz. Het is het equivalent van een array in andere programmeertalen.
Dus hier zullen verschillende manieren doorlopen worden waarop we duplicaten van een bepaalde lijst kunnen verwijderen.
In deze tutorial leer je:
- Verwijder duplicaten uit de lijst met Set
- Verwijder duplicaten uit een lijst met behulp van de tijdelijke lijst.
- Verwijder duplicaten uit de lijst met Dict
- Verwijder duplicaten uit een lijst met for-loop
- Verwijder duplicaten uit de lijst met behulp van lijstbegrip
- Verwijder duplicaten uit de lijst met behulp van de methode Numpy unique ().
- Verwijder duplicaten uit de lijst met behulp van Pandas-methoden
- Verwijder duplicaten met enumerate () en lijstbegrip
Verwijder duplicaten uit de lijst met Set
Om de duplicaten uit een lijst te verwijderen, kunt u gebruik maken van de ingebouwde functieset (). De specialiteit van de methode set () is dat het verschillende elementen retourneert.We hebben een lijst: [1,1,2,3,2,2,4,5,6,2,1]. De lijst bevat veel duplicaten die we moeten verwijderen en alleen de afzonderlijke elementen moeten terugkrijgen. De lijst wordt gegeven aan de ingebouwde functie set (). Later wordt de laatste lijst weergegeven met behulp van de ingebouwde functie list (), zoals weergegeven in het onderstaande voorbeeld.
De uitvoer die we krijgen, zijn verschillende elementen waarbij alle dubbele elementen worden verwijderd.
my_list = [1,1,2,3,2,2,4,5,6,2,1]my_final_list = set(my_list)print(list(my_final_list))
Uitgang:
[1, 2, 3, 4, 5, 6]
Verwijder duplicaten uit een lijst met behulp van de tijdelijke lijst
Om duplicaten uit een bepaalde lijst te verwijderen, kunt u gebruik maken van een lege tijdelijke lijst. Daarvoor moet je eerst de lijst met duplicaten doorlopen en de unieke items aan de tijdelijke lijst toevoegen. Later wordt de tijdelijke lijst toegewezen aan de hoofdlijst.
Hier is een werkend voorbeeld met een tijdelijke lijst.
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)
Uitgang:
List Before [1, 2, 3, 1, 2, 4, 5, 4, 6, 2]List After removing duplicates [1, 2, 3, 4, 5, 6]
Verwijder duplicaten uit de lijst met Dict
We kunnen duplicaten van de gegeven lijst verwijderen door OrderedDict uit verzamelingen te importeren. Het is beschikbaar vanaf python2.7 en hoger. OrderedDict zorgt ervoor dat u de verschillende elementen terugstuurt in een volgorde waarin de sleutel aanwezig is.
Laten we gebruik maken van een lijst en de fromkeys () methode gebruiken die beschikbaar is in OrderedDict om de unieke elementen uit de lijst te krijgen.
Om gebruik te maken van de OrderedDict.fromkey () methode, moet je OrderedDict uit verzamelingen importeren, zoals hieronder getoond:
from collections import OrderedDict
Hier is een voorbeeld om duplicaten te verwijderen met de methode 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))
Uitgang:
['a', 'x', 'y', 'b', 'c']
Vanaf Python 3.5+ kunnen we gebruik maken van de reguliere dict.fromkeys () om de verschillende elementen uit de lijst te halen. De methoden dict.fromkeys () retourneren sleutels die uniek zijn en helpen om de dubbele waarden te verwijderen.
Een voorbeeld dat de werking van dict.fromkeys () op een lijst laat zien om de unieke items te geven, is als volgt:
my_list = ['a','x','a','y','a','b','b','c']my_final_list = dict.fromkeys(my_list)print(list(my_final_list))
Uitgang:
['a', 'x', 'y', 'b', 'c']
Verwijder duplicaten uit een lijst met for-loop
Met for-loop gaan we door de lijst met items om duplicaten te verwijderen.
Initialiseer eerst de array om deze leeg te maken, dwz myFinallist = []. Voeg binnen de for-loop toe of de items in de lijst bestaan in de array myFinallist. Als de items niet bestaan, voeg het item dan toe aan de array myFinallist met de append () methode.
Dus wanneer het dubbele item wordt aangetroffen, is het al aanwezig in de array myFinallist en wordt het niet ingevoegd. Laten we nu hetzelfde controleren in het onderstaande voorbeeld:
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))
Uitgang:
[1, 2, 3, 4, 5, 6]
Verwijder duplicaten uit de lijst met behulp van lijstbegrip
Lijstbegrip zijn Python-functies die worden gebruikt voor het maken van nieuwe reeksen (zoals lijsten, woordenboeken, enz.) Met behulp van reeksen die al zijn gemaakt. Dit helpt u om langere loops te verminderen en uw code gemakkelijker te lezen en te onderhouden.
Laten we gebruik maken van lijstbegrip om duplicaten van de gegeven lijst te verwijderen.
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)
Uitgang:
[1, 2, 3, 4, 5, 6]
Verwijder duplicaten uit de lijst met behulp van de methode Numpy unique ().
De methode unique () van de Numpy-module kan ons helpen duplicaten uit de gegeven lijst te verwijderen.
Om met Numpy first import numpy module te werken, moet je deze stappen volgen:
Stap 1 ) Importeer Numpy-module
import numpy as np
Stap 2) Gebruik uw lijst met duplicaten binnen een unieke methode, zoals hieronder wordt weergegeven. De uitvoer wordt terug geconverteerd naar een lijstformaat met behulp van de methode tolist ().
myFinalList = np.unique(my_list).tolist()
Stap 3) Druk ten slotte de lijst af zoals hieronder weergegeven:
print(myFinalList)
De uiteindelijke code met uitvoer is als volgt:
import numpy as npmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = np.unique(my_list).tolist()print(myFinalList)
Uitgang:
[1, 2, 3, 4, 5, 6]
Verwijder duplicaten uit de lijst met behulp van Pandas-methoden
De Pandas-module heeft een unieke () methode die ons de unieke elementen uit de gegeven lijst geeft.
Om met de Pandas-module te werken, moet u deze stappen volgen:
Stap 1) Importeer Pandas-module
import pandas as pd
Stap 2) Gebruik uw lijst met duplicaten in de methode unique (), zoals hieronder wordt weergegeven:
myFinalList = pd.unique(my_list).tolist()
Stap 3) Druk de lijst af zoals hieronder weergegeven:
print(myFinalList)
De uiteindelijke code met uitvoer is als volgt:
import pandas as pdmy_list = [1,2,2,3,1,4,5,1,2,6]myFinalList = pd.unique(my_list).tolist()print(myFinalList)
Uitgang:
[1, 2, 3, 4, 5, 6]
Verwijder duplicaten met enumerate () en lijstbegrip
Hier de combinatie van lijstbegrip en opsomming om de dubbele elementen te verwijderen. Enumerate retourneert een object met een teller voor elk element in de lijst. Bijvoorbeeld (0,1), (1,2) etc. Hier is de eerste waarde de index, en de tweede waarde is het lijstitem. W.
Elk element wordt gecontroleerd of het in de lijst voorkomt, en als dit het geval is, wordt het uit de lijst verwijderd.
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))
Uitgang:
[1, 2, 3, 4, 5, 6]
Overzicht
- Om de duplicaten uit een lijst te verwijderen, kunt u gebruik maken van de ingebouwde functieset (). De specialiteit van de set () - methode is dat het verschillende elementen retourneert.
- U kunt duplicaten uit de gegeven lijst verwijderen door OrderedDict uit verzamelingen te importeren. Het is beschikbaar vanaf python2.7 en hoger. OrderedDictdict zorgt ervoor dat u de verschillende elementen terugstuurt in een volgorde waarin de sleutel aanwezig is.
- U kunt gebruik maken van een for-loop die we door de lijst met items zullen doorlopen om duplicaten te verwijderen.
- De methode unique () van de Numpy-module kan ons helpen duplicaten uit de gegeven lijst te verwijderen.
- De Pandas-module heeft een unieke () methode die ons de unieke elementen uit de gegeven lijst geeft.
- De combinatie van lijstbegrip en opsomming wordt gebruikt om de dubbele elementen uit de lijst te verwijderen. Enumerate retourneert een object met een teller voor elk element in de lijst.