Wat is het verschil tussen del, verwijder en pop op Python-lijsten

  1. Pythonlijst Verwijderen op waarde
  2. Python-lijst verwijderen per index
  3. Python-lijst verwijderen door del

Zoals het vaak gaat, biedt Python verschillende manieren om hetzelfde te bereiken.

Behang verwijderen met een stoomapp...
Behang verwijderen met een stoomapparaat

Als u een element te verwijderen uit een lijst, kan je een van gebruiken list.remove() of list.pop() functies of de ingebouwde del verklaring.

In de onderstaande voorbeelden zullen we elk van deze benaderingen behandelen en hun verschillen en afwegingen bespreken.

Pythonlijst Verwijderen op waarde

list.remove() verwijdert het eerste item in de lijst, waarvan de waarde gelijk is aan het doorgegeven argument. Wanneer u deze methode gebruikt, weet u meestal niet of maakt het niet uit wat de index is van het item dat u wilt verwijderen.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> names.remove('Cindy')
>>> names
['Bob', 'Noah']

Wees voorzichtig met deze methode. Als een item dat u probeert te verwijderen niet in de lijst voorkomt, geeft de Python-runtime een ValueError.

>>> names = ['Bob', 'Noah']
>>> names.remove('Cindy')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: list.remove(x): x not in list

Om door dit probleem te navigeren, moet u controleren of er een item in de lijst staat voordat u het probeert list.remove().

>>> names = ['Bob', 'Noah']
>>> if 'Cindy' in names:
...   names.remove('Cindy')
...
>>>

Python-lijst verwijderen per index

Als u de index kent van een element dat u wilt verwijderen, kan je de list.pop() methode gebruiken.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> names.pop(1)
'Cindy'
>>> names
['Bob', 'Noah']

list.pop() verwijdert een element op de opgegeven index en retourneert het.

Als u geen index aan geeft list.pop() , wordt het laatste element van de lijst verwijderd.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> names.pop()
'Noah'
>>> names
['Bob', 'Cindy']

Python-lijst verwijderen door del

Een andere optie om een ​​element per index uit een lijst te verwijderen, is het del ingebouwde statement te gebruiken. Anders dan bij list.pop() de del instructie wordt geen verwijderde waarde geretourneerd.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> del names[1]
>>> names
['Bob', 'Noah']

De del verklaring is ook flexibeler dat list.pop() . Je kan het gebruiken om waardenbereiken uit de lijst te verwijderen.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> del names[0:2]
>>> names
['Noah']

Je kan het ook gebruiken om de hele lijst te wissen.

>>> names = ['Bob', 'Cindy', 'Noah']
>>> del names[:]
>>> names
[]

Zoals u uit het bovenstaande kunt zien, heeft elke benadering iets andere gebruiksscenario’s. Als u echter maar één element uit de lijst wilt verwijderen zonder de waarde ervan te onthouden, werkt elke methode.

Gebruik degene die beter leest in de bredere context van uw code.

Gerelateerde Artikelen - Python List

  • Wat is het verschil tussen lijstmethoden toevoegen en uitbreiden
  • Een lijst converteren naar tekenreeks in Python
  • Hoe twee of meerdere lijsten in Python samen te voegen