Element verwijderen uit a Python LIST [wissen, pop, verwijderen, del]

⚡ Slimme samenvatting

Elementen verwijderen uit een Python De `list`-functie maakt gebruik van drie ingebouwde methoden: `remove()`, `pop()` en `clear()`, plus het `del`-sleutelwoord. Elk van deze methoden selecteert een item op basis van waarde, op basis van index, of wist de hele lijst ter plekke.

  • 🔘 remove() methode: De functie remove() verwijdert het eerste element dat overeenkomt met een gegeven waarde en genereert een ValueError als de waarde ontbreekt.
  • ☑️ pop() methode: De functie `pop()` verwijdert een item op een gegeven index en retourneert dit. Standaard wordt het laatste element teruggegeven als er geen index wordt doorgegeven.
  • del-trefwoord: Het sleutelwoord `del` verwijdert een item of een hele slice op basis van de index, en kan ook de lijstvariabele verwijderen.
  • 🧪 clear() methode: clear() maakt de lijst ter plekke leeg, waardoor er een bestaande, maar lege lijst overblijft.
  • Waarde versus index: Gebruik remove() wanneer de waarde bekend is, en pop() of del wanneer de positie bekend is.
  • 🤖 AI-workflows: Bij het opschonen van machine learning-data worden ongewenste voorbeelden uit lijsten verwijderd met behulp van list comprehensions vóór de modeltraining.

Element verwijderen uit een Python Lijst

Python Het gegevenstype 'list' helpt je om items van verschillende gegevenstypen in een geordende volgorde op te slaan. De gegevens worden tussen vierkante haken ([]) geplaatst en de waarden worden gescheiden door een komma (,).

In Python, zijn er veel methoden beschikbaar voor het lijstgegevenstype waarmee u een element uit een bepaalde lijst kunt verwijderen. De methoden zijn verwijder(), pop() en Doorzichtig().

Naast de lijstmethoden kunt u ook a del trefwoord om items uit een lijst te verwijderen.

Voorbeeld van een lijst

my_list = ['Guru', 50, 11.50, 'Siya', 50, ['A', 'B', 'C']]

De index begint bij 0. In de lijst my_list staat op index 0 de tekenreeks 'Guru.

  • Bij index 1 krijg je het getal 50, wat een geheel getal is.
  • Bij index:2 krijgt u het zwevende getal 11.50
  • Bij index:3 staat de string 'Siya.'
  • Bij index:4 ziet u dat het getal 50 gedupliceerd is.
  • Bij index:5 krijgt u een lijst met de waarden A, B en C.

Python verwijder() methode

De `remove()`-methode is een ingebouwde methode van de lijst. Hiermee verwijder je het allereerste overeenkomende element uit de lijst.

Syntax:

list.remove(element)

Het element dat u uit de lijst wilt verwijderen.

Winstwaarde

Er is geen retourwaarde voor deze methode.

Tips voor het gebruik van de remove()-methode

Hieronder volgen de belangrijkste punten om te onthouden bij het gebruik van de remove()-methode:

  • Wanneer de lijst dubbele elementen bevat, wordt het allereerste element dat overeenkomt met het gegeven element uit de lijst verwijderd.
  • Als het gegeven element niet in de lijst aanwezig is, zal er een foutmelding verschijnen dat het element niet in de lijst staat.
  • De remove()-methode retourneert geen waarde.
  • De remove()-methode neemt de waarde als argument, dus de waarde moet met het juiste gegevenstype worden doorgegeven.

Voorbeeld: Een element uit een lijst verwijderen met behulp van de remove()-methode.

Hier is een voorbeeldlijst die ik heb:

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

De lijst bevat elementen van de gegevenstypen tekenreeks en getal. De lijst bevat dubbele elementen, zoals het getal 12 en de tekenreeks Riya.

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']
my_list.remove(12) # it will remove the element 12 at the start.
print(my_list)
my_list.remove('Riya') # will remove the first Riya from the list
print(my_list)
my_list.remove(100)  #will throw an error
print(my_list)

Output:

['Siya', 'Tiya', 14, 'Riya', 12, 'Riya']
['Siya', 'Tiya', 14, 12, 'Riya']
Traceback (most recent calllast):
File "display.py", line 9, in <module>
    my_list.remove(100)
ValueError: list.remove(x): x not in the list

Python pop() methode

De methode pop() verwijdert een element uit de lijst op basis van de opgegeven index.

Syntaxis

list.pop(index)

index: de methode pop() heeft slechts één argument genaamd index.

  • Om een ​​element uit de lijst te verwijderen, moet je de index van het element doorgeven. De index begint bij 0. Om het eerste element uit de lijst te halen, geef je index 0 op. Om het laatste element te verwijderen, kun je index -1 opgeven.
  • Het indexargument is optioneel. Als deze niet wordt doorgegeven, wordt de standaardwaarde beschouwd als -1 en wordt het laatste element uit de lijst geretourneerd.
  • Als de gegeven index niet aanwezig is, of buiten bereik is, genereert de methode pop() een foutmelding IndexError: pop-index.

Winstwaarde:

De methode pop() retourneert het verwijderde element op basis van de gegeven index. De definitieve lijst wordt ook bijgewerkt en bevat het element niet.

Voorbeeld: Het gebruik van de `pop()`-methode om een ​​element uit de lijst te verwijderen.

De lijst die we in het voorbeeld zullen gebruiken is my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya'].

Laten we proberen een element te verwijderen met behulp van de `pop()`-methode, gebaseerd op het volgende:

  • Door het geven van index
  • Zonder index
  • Passerende index die buiten bereik ligt.

Hier zijn we aan het verwijderen Tiya uit de lijst. De index begint bij 0, dus de index voor Tiya is 2.

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

#By passing index as 2 to remove Tiya
name = my_list.pop(2)
print(name)
print(my_list)

#pop() method without index – returns the last element
item = my_list.pop()
print(item)
print(my_list)

#passing index out of range
item = my_list.pop(15)
print(item)
print(my_list)

Output:

Tiya
[12, 'Siya', 14, 'Riya', 12, 'Riya']
Riya
[12, 'Siya', 14, 'Riya', 12]
Traceback (most recent calllast):
File "display.py", line 14, in <module>
item = my_list.pop(15)
IndexError: popindex out of range

Python clear() methode

De clear() methode verwijdert alle elementen uit de lijst.

Syntax:

list.clear()

parameters:

Geen parameters.

Winstwaarde:

Er is geen retourwaarde. De lijst wordt leeggehaald met behulp van de clear()-methode.

Voorbeeld: De clear()-methode gebruiken om alle elementen uit de lijst te verwijderen.

De clear() methode zal de gegeven lijst leegmaken. Laten we de werking van clear() in het onderstaande voorbeeld zien:

my_list = [12, 'Siya', 'Tiya', 14, 'Riya', 12, 'Riya']

#Using clear() method
element = my_list.clear()
print(element)
print(my_list)

Output:

None
[]

Met behulp van het trefwoord del

Om een ​​element uit de lijst te verwijderen, kunt u de del trefwoord gevolgd door een lijst. U moet de index van het element doorgeven aan de lijst. De index begint bij 0.

Syntax:

del list[index]

U kunt ook een reeks elementen uit de lijst segmenteren met behulp van de del trefwoord. De begin-/eindindex uit de lijst kan aan het trefwoord `del` worden doorgegeven, waarna de elementen binnen dat bereik worden verwijderd. De syntax is als volgt:

Syntax:

del list[start:stop]

Hier volgt een voorbeeld dat laat zien hoe je het eerste element, het laatste element en meerdere elementen uit een lijst kunt verwijderen. del.

my_list = list(range(15))
print("The Original list is ", my_list)

#To remove the firstelement
del my_list[0]
print("After removing first element", my_list)

#To remove last element
del my_list[-1]
print("After removing last element", my_list)

#To remove element for given index : for example index:5
del my_list[5]
print("After removing element from index:5", my_list)

#To remove last 2 elements from the list
del my_list[-2]
print("After removing last 2 elements", my_list)

#To remove multiple elements
delmy_list[1:5]
print("After removing multiple elements from start:stop index (1:5)", my_list)

#To remove multiple elements
del my_list[4:]
print("To remove elements from index 4 till the end (4:)", my_list)

Output:

The Originallist is  [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
After removing first element [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
After removing last element [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
After removing element from index:5 [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13]
After removing last 2 elements [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 13]
After removing multiple elements from start:stop index (1:5) [1, 7, 8, 9, 10, 11, 13]
To remove elements from index 4 till the end (4:) [1, 7, 8, 9]

Hoe verwijder ik het eerste element uit een lijst?

U kunt gebruik maken van lijstmethoden zoals verwijder(), pop() Om het eerste element uit de lijst te verwijderen. Bij de `remove()`-methode moet je het eerste element dat je wilt verwijderen doorgeven, en bij `pop()` de index, oftewel 0.

U kunt ook de del trefwoord om het eerste element uit de lijst te verwijderen.

Het onderstaande voorbeeld laat zien hoe je het eerste element uit een lijst verwijdert met behulp van remove(), pop() en del.

my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("The Originallist is ", my_list1)
#Using remove() to remove first element
my_list1.remove('A')
print("Using remove(), the final list is ", my_list1)

my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("The Originallist is ", my_list1)
#Using pop() to remove the first element
element = my_list1.pop(0)
print("The first element removed from my_list1 is ", element)
print("Using pop(), the final list is ", my_list1)

#Using del to remove the first element
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
del my_list2[0]
print("Using del, the final list is ", my_list2)

Output:

The Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using remove(), the final list is  ['B', 'C', 'D', 'E', 'F']
The Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
The first element removed from my_list1 is  A
Using pop(), the final list is  ['B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['B', 'C', 'D', 'E', 'F']

Hoe verwijder ik meerdere elementen uit een lijst in Python?

De lijstmethoden `remove()` en `pop()` zijn bedoeld om één element te verwijderen. Om meerdere elementen te verwijderen, gebruik je de del trefwoord.

Uit de lijst ['A', 'B', 'C', 'D', 'E', 'F'] willen we de elementen B, C en D verwijderen. Het onderstaande voorbeeld laat zien hoe je dit kunt doen. del trefwoord om de elementen te verwijderen.

#Using del to remove the multiple elements from list
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list2)
del my_list2[1:4]
print("Using del, the final list is ", my_list2)

Output:

Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['A', 'E', 'F']

Hoe verwijder ik een element uit een lijst met behulp van index in Python?

Om een ​​element op basis van index te verwijderen, kunt u de lijstmethode `pop()` gebruiken. Zelfs met behulp van de del trefwoord helpt u het element voor een bepaalde index te verwijderen.

#Using del to remove the multiple elements from list
my_list1 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list1)
element = my_list1.pop(2)
print("Element removed for index: 2 is ", element)
print("Using pop, the final list is ", my_list1)

#Using del to remove the multiple elements from list
my_list2 = ['A', 'B', 'C', 'D', 'E', 'F']
print("Originallist is ", my_list2)
del my_list2[2]
print("Using del, the final list is ", my_list2)

Output:

Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Element removed for index: 2 is  C
Using pop, the final list is  ['A', 'B', 'D', 'E', 'F']
Originallist is  ['A', 'B', 'C', 'D', 'E', 'F']
Using del, the final list is  ['A', 'B', 'D', 'E', 'F']

Veelgestelde vragen

`remove()` verwijdert het eerste element dat overeenkomt met een waarde, `pop()` verwijdert een item op basis van index en retourneert dit, en `del` verwijdert een item of een slice op basis van index zonder iets te retourneren. Kies de juiste methode op basis van of je de waarde of de positie weet.

De `remove()`-methode verwijdert alleen de eerste overeenkomst, dus gebruik een list comprehension zoals `[x for x in my_list if x != value]`. Dit herbouwt de lijst zonder overeenkomende items en behoudt de rest van de volgorde.

Het wijzigen van een lijst tijdens het doorlopen ervan slaat elementen over. Itereer over een kopie, loop in omgekeerde richting of maak een nieuwe lijst met behulp van een list comprehension. De list comprehension-aanpak is het meest leesbaar en voorkomt indexverschuivingsfouten volledig.

clear() maakt de lijst leeg terwijl deze behouden blijft.ping De variabele en alle verwijzingen naar dezelfde nu lege lijst. `del my_list` verwijdert de variabele volledig, waardoor een verwijzing ernaar daarna een `NameError` oplevert.

De functies remove(), pop(), clear() en del wijzigen de lijst op hun plaats. Alleen pop() retourneert het verwijderde element; de andere retourneren None of niets. Een list comprehension bouwt daarentegen een aparte, nieuwe lijst op en laat de originele lijst ongewijzigd.

Het herhaaldelijk aanroepen van remove() is traag omdat elke aanroep de lijst opnieuw doorloopt. Het opnieuw opbouwen met één enkele list comprehension of filter() gebeurt in één keer en is veel sneller voor grote lijsten wanneer veel waarden verwijderd moeten worden.

Bij de voorbereiding van data voor machine learning worden vaak ongewenste samples, uitschieters of ongeldige labels uit lijsten verwijderd voordat ze naar arrays worden geconverteerd. Door middel van list comprehensions of pandas blijft de trainingsdata consistent en worden vertekende modelresultaten voorkomen.

Ja. GitHub Copilot en AI-assistenten genereren code voor remove(), pop(), del en op begrip gebaseerde bewerkingen vanuit een eenvoudige opmerking, stellen de veiligste optie voor uw situatie voor en herschrijven lussen, hoewel u nog steeds randgevallen zoals ontbrekende waarden moet testen.

Vat dit bericht samen met: