J'ai la liste [0, 1, 2, 3, 4]
que j'aimerais en faire [1, 2, 3, 4]
. Comment dois-je procéder?
J'ai la liste [0, 1, 2, 3, 4]
que j'aimerais en faire [1, 2, 3, 4]
. Comment dois-je procéder?
Réponses:
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']
>>>
Ces deux modifient votre liste d'origine.
D'autres ont suggéré d'utiliser le tranchage:
De plus, si vous effectuez plusieurs pop (0), vous devriez regarder collections.deque
from collections import deque
>>> l = deque(['a', 'b', 'c', 'd'])
>>> l.popleft()
'a'
>>> l
deque(['b', 'c', 'd'])
Tranchage:
x = [0,1,2,3,4]
x = x[1:]
Ce qui retournerait en fait un sous-ensemble de l'original mais ne le modifierait pas.
x
est vide, x=x[1:]
le laisserait vide sans se plaindre. x.pop(0)
jetterait pour une liste vide x
. Parfois, lancer est ce que l'on veut: si l'hypothèse qu'il y a au moins un élément dans la liste est erronée, on peut vouloir être notifié.
>>> x = [0, 1, 2, 3, 4]
>>> x.pop(0)
0
Plus à ce sujet ici .
Vous pouvez utiliser list.reverse()
pour inverser la liste, puis list.pop()
pour supprimer le dernier élément, par exemple:
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
Vous pouvez également utiliser list.remove(a[0])
pour pop
sortir le premier élément de la liste.
>>>> a=[1,2,3,4,5]
>>>> a.remove(a[0])
>>>> print a
>>>> [2,3,4,5]
a.remove(a[1-1])
? Voilà une autre façon.
list.remove(a[i])
. Avec des valeurs en double, il peut trouver un élément antérieur avec la même valeur et supprimer celui-ci au lieu du ième.
Il existe une infrastructure de données appelée "deque" ou file d'attente à double extrémité qui est plus rapide et efficace qu'une liste. Vous pouvez utiliser votre liste et la convertir en deque et y effectuer les transformations requises. Vous pouvez également reconvertir le deque en liste.
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 fournit également des fonctions très utiles comme l'insertion d'éléments de chaque côté de la liste ou de tout index spécifique. Vous pouvez également faire pivoter ou inverser une déque. Essaie!!