Antworten:
list.pop (index)
>>> l = ['a', 'b', 'c', 'd']
>>> l.pop(0)
'a'
>>> l
['b', 'c', 'd']
>>>
del list [index]
>>> l = ['a', 'b', 'c', 'd']
>>> del l[0]
>>> l
['b', 'c', 'd']
>>>
Beide ändern Ihre ursprüngliche Liste.
Andere haben vorgeschlagen, das Schneiden zu verwenden:
Wenn Sie viele Pop (0) ausführen, sollten Sie sich auch collection.deque ansehen
from collections import deque
>>> l = deque(['a', 'b', 'c', 'd'])
>>> l.popleft()
'a'
>>> l
deque(['b', 'c', 'd'])
Schneiden:
x = [0,1,2,3,4]
x = x[1:]
Was tatsächlich eine Teilmenge des Originals zurückgeben würde, diese aber nicht ändern würde.
x
es leer ist, x=x[1:]
würde es leer lassen, ohne sich zu beschweren. x.pop(0)
würde für eine leere Liste werfen x
. Manchmal möchte man werfen: Wenn die Annahme, dass mindestens ein Element in der Liste enthalten ist, falsch ist, möchte man möglicherweise benachrichtigt werden.
>>> x = [0, 1, 2, 3, 4]
>>> x.pop(0)
0
Mehr dazu hier .
Weitere Informationen zum Aufteilen von Listen finden Sie im Python-Tutorial zu Listen :
>>> l = [0, 1, 2, 3, 4]
>>> l[1:]
[1, 2, 3, 4]
Sie können list.reverse()
die Liste umkehren und dann list.pop()
das letzte Element entfernen, zum Beispiel:
l = [0, 1, 2, 3, 4]
l.reverse()
print l
[4, 3, 2, 1, 0]
l.pop()
0
l.pop()
1
l.pop()
2
l.pop()
3
l.pop()
4
Sie verwenden können auch list.remove(a[0])
auf pop
in der Liste aus dem ersten Element.
>>>> a=[1,2,3,4,5]
>>>> a.remove(a[0])
>>>> print a
>>>> [2,3,4,5]
a.remove(a[1-1])
? Das ist ein anderer Weg.
list.remove(a[i])
. Bei doppelten Werten wird möglicherweise ein früheres Element mit demselben Wert gefunden und dieses anstelle des i-ten entfernt.
Wenn Sie arbeiten , numpy müssen Sie verwenden Löschmethode:
import numpy as np
a = np.array([1, 2, 3, 4, 5])
a = np.delete(a, 0)
print(a) # [2 3 4 5]
Es gibt eine Datenstruktur namens "deque" oder "Double Ended Queue", die schneller und effizienter als eine Liste ist. Sie können Ihre Liste verwenden und in deque konvertieren und die erforderlichen Transformationen darin durchführen. Sie können die Deque auch wieder in eine Liste konvertieren.
import collections
mylist = [0, 1, 2, 3, 4]
#make a deque from your list
de = collections.deque(mylist)
#you can remove from a deque from either left side or right side
de.popleft()
print(de)
#you can covert the deque back to list
mylist = list(de)
print(mylist)
Deque bietet auch sehr nützliche Funktionen wie das Einfügen von Elementen auf beiden Seiten der Liste oder in einen bestimmten Index. Sie können eine Deque auch drehen oder umkehren. Versuche es!!