Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Python

Python verwijdert duplicaten uit een lijst


Een lijst is een container die verschillende Python-objecten bevat, dit kunnen gehele getallen, woorden, waarden, enz. zijn. Het is het equivalent van een array in andere programmeertalen.

Dus hier zullen we verschillende manieren bespreken 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 de Numpy unique()-methode.
  • Verwijder duplicaten uit de lijst met behulp van Panda's-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 set() methode 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 terug moeten krijgen. De lijst wordt gegeven aan de ingebouwde functie set(). Later wordt de definitieve lijst weergegeven met behulp van de ingebouwde functie list(), zoals weergegeven in het onderstaande voorbeeld.

De uitvoer die we krijgen zijn afzonderlijke elementen waarbij alle dubbele elementen worden geëlimineerd.

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 van een bepaalde lijst te verwijderen, kunt u gebruik maken van een lege tijdelijke lijst. Daarvoor moet u eerst door de lijst met duplicaten bladeren 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_list

print("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 uit de gegeven lijst verwijderen door OrderedDict uit collecties te importeren. Het is beschikbaar vanaf python2.7. OrderedDict zorgt ervoor dat u de afzonderlijke elementen terugstuurt in een volgorde waarin de sleutel aanwezig is.

Laten we gebruik maken van een lijst en de methode fromkeys() gebruiken die beschikbaar is in OrderedDict om de unieke elementen uit de lijst te halen.

Om de OrderedDict.fromkey() methode te gebruiken, moet u OrderedDict uit collecties importeren, zoals hieronder getoond:

from collections import OrderedDict

Hier is een voorbeeld om duplicaten te verwijderen met behulp van de OrderedDict.fromkeys() methode.

from collections import OrderedDict

my_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 dict.fromkeys()-methoden 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 behulp van for-loop doorkruisen we de lijst met items om dubbele items te verwijderen.

Initialiseer array eerst om leeg te zijn, d.w.z. myFinallist =[].In de for-loop, voeg toe te controleren of de items in de lijst bestaan ​​in de array myFinallist.Als de items niet bestaan, voeg je het item toe aan de array myFinallist met behulp van 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 lijst met behulp van lijstbegrip

Lijstbegrippen 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 uit 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 de Numpy unique()-methode.

De methode unique() van de Numpy-module kan ons helpen duplicaat uit de gegeven lijst te verwijderen.

Om met Numpy eerst de numpy-module te importeren, moet u deze stappen volgen:

Stap 1 ) Numpy-module importeren

import numpy as np

Stap 2) Gebruik uw lijst met duplicaten binnen de unieke methode, zoals hieronder weergegeven. De uitvoer wordt terug geconverteerd naar een lijstformaat met behulp van de tolist()-methode.

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 np
my_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 Panda's-methoden

De Pandas-module heeft een unique()-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) Importeren Panda's-module

import pandas as pd

Stap 2) Gebruik uw lijst met duplicaten binnen de unieke() methode zoals hieronder getoond:

myFinalList = pd.unique(my_list).tolist()

Stap 3) Druk de lijst af zoals hieronder getoond:

print(myFinalList)

De uiteindelijke code met uitvoer is als volgt:

import pandas as pd

my_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 opsommen om de dubbele elementen te verwijderen. Enumerate retourneert een object met een teller voor elk element in de lijst. Bijvoorbeeld (0,1), (1,2) enz. Hier is de eerste waarde de index en de tweede waarde het lijstitem. W

Elk element wordt gecontroleerd als het in de lijst voorkomt en als dat zo 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]

Samenvatting

  • Om de duplicaten uit een lijst te verwijderen, kunt u gebruik maken van de ingebouwde functie set(). De specialiteit van de set() methode is dat het verschillende elementen teruggeeft.
  • Je kunt duplicaten uit de gegeven lijst verwijderen door OrderedDictuit collecties te importeren. Het is beschikbaar vanaf python2.7. OrderedDictdict zorgt ervoor dat u de afzonderlijke elementen terugstuurt in een volgorde waarin de sleutel aanwezig is.
  • U kunt gebruik maken van een for-loop waarmee we de lijst met items zullen doorlopen om dubbele items te verwijderen.
  • De methode unique() van de Numpy-module kan ons helpen duplicaat uit de gegeven lijst te verwijderen.
  • De Pandas-module heeft een unique()-methode die ons de unieke elementen uit de gegeven lijst geeft.
  • De combinatie van lijstbegrip en enumerate wordt gebruikt om de dubbele elementen uit de lijst te verwijderen. Enumerate retourneert een object met een teller voor elk element in de lijst.

Python

  1. Python-gegevenstypen
  2. Python-operators
  3. Python pass-instructie
  4. Python-functieargumenten
  5. Python range() Functie:Float, List, For loop Voorbeelden
  6. Python-lijstbegrip, toevoegen, sorteren, lengte [VOORBEELDEN]
  7. Python-gemiddelde:hoe het GEMIDDELDE van een lijst in Python te vinden?
  8. Python List count() met VOORBEELDEN
  9. Element verwijderen uit een Python LIST [clear, pop, remove, del]
  10. Python Lijst index() met Voorbeeld
  11. Python - Lijsten