Eu tenho a lista na qual [0, 1, 2, 3, 4]
gostaria de entrar [1, 2, 3, 4]
. Como faço para fazer isso?
773
list.pop (índice)
>>> l = ['a', 'b', 'c', 'd']
>>> l.pop(0)
'a'
>>> l
['b', 'c', 'd']
>>>
lista del [index]
>>> l = ['a', 'b', 'c', 'd']
>>> del l[0]
>>> l
['b', 'c', 'd']
>>>
Ambos modificam sua lista original.
Outros sugeriram o uso de fatiar:
Além disso, se você estiver executando muitos pop (0), deve procurar em collections.deque
from collections import deque
>>> l = deque(['a', 'b', 'c', 'd'])
>>> l.popleft()
'a'
>>> l
deque(['b', 'c', 'd'])
Fatiamento:
O que realmente retornaria um subconjunto do original, mas não o modificaria.
fonte
x
estiver vazio,x=x[1:]
deixaria vazio sem reclamar.x.pop(0)
jogaria para uma lista vaziax
. Às vezes, jogar é o que se deseja: se a suposição de que há pelo menos um elemento na lista estiver errada, é possível que você seja notificado.Mais sobre isso aqui .
fonte
Com o fatiamento de lista, consulte o tutorial do Python sobre listas para obter mais detalhes:
fonte
você faria isso
ou
l = l[1:]
Prós e contras
Usando pop, você pode recuperar o valor
dizer
x = l.pop(0)
x
seria0
fonte
Em seguida, basta excluí-lo:
fonte
Você pode usar
list.reverse()
para reverter a lista elist.pop()
remover o último elemento, por exemplo:fonte
Você também pode usar
list.remove(a[0])
parapop
extrair o primeiro elemento da lista.fonte
a.remove(a[1-1])
? Essa é outra maneira.list.remove(a[i])
. Com valores duplicados, ele pode encontrar um elemento anterior com o mesmo valor e removê-lo em vez do i'th.Se você estiver trabalhando com numpy, precisará usar o método delete :
fonte
Existe uma estrutura de dados chamada "deque" ou fila dupla, que é mais rápida e eficiente que uma lista. Você pode usar sua lista e convertê-la em deque e fazer as transformações necessárias nela. Você também pode converter o deque de volta à lista.
O Deque também fornece funções muito úteis, como inserir elementos em ambos os lados da lista ou em qualquer índice específico. Você também pode girar ou reverter um deque. De uma chance!!
fonte