Eu tenho a lista na qual [0, 1, 2, 3, 4]
gostaria de entrar [1, 2, 3, 4]
. Como faço para fazer isso?
Eu tenho a lista na qual [0, 1, 2, 3, 4]
gostaria de entrar [1, 2, 3, 4]
. Como faço para fazer isso?
Respostas:
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:
x = [0,1,2,3,4]
x = x[1:]
O que realmente retornaria um subconjunto do original, mas não o modificaria.
x
estiver vazio, x=x[1:]
deixaria vazio sem reclamar. x.pop(0)
jogaria para uma lista vazia x
. À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.
>>> x = [0, 1, 2, 3, 4]
>>> x.pop(0)
0
Mais sobre isso aqui .
Você pode usar list.reverse()
para reverter a lista e list.pop()
remover o último elemento, por exemplo:
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
Você também pode usar list.remove(a[0])
para pop
extrair o primeiro elemento da lista.
>>>> a=[1,2,3,4,5]
>>>> a.remove(a[0])
>>>> print a
>>>> [2,3,4,5]
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.
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.
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)
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!!