Tentei utilizar o comando Acessorios.pop(-1:-3) para tentar apagar mais de um item do fim da lista para o começo. Mas aparece um erro de sintax, como seria possível fazer isso?
Tentei utilizar o comando Acessorios.pop(-1:-3) para tentar apagar mais de um item do fim da lista para o começo. Mas aparece um erro de sintax, como seria possível fazer isso?
Olá Michel! Tudo bem contigo?
O método pop
não permite que você remova itens de uma lista por meio de um slice, apenas pelo índice, por exemplo:
# removendo o último elemento
acessorios.pop()
# removendo o penúltimo elemento
acessorios.pop(-2)
Para remover mais de um elemento, da forma como está tentando fazer, você pode utilizar o método del
. Entretanto, a forma que você está fazendo o slice não dará muito certo. Se a sua intenção for remover o penúltimo e o antepenúltimo item da lista você deve fazer um slice de [-3 : -1]
, mas caso sua intenção seja remover do antepenúltimo ao último, você pode fazer o slice de [-3 : ]
. Vou deixar aqui esses exemplos utilizando o método del
:
# removendo o penúltimo e antepenúltimo
del acessorios[-3:-1]
# removendo do antepenúltimo ao último
del acessorios[-3:]
Espero que isso te ajude! Qualquer dúvida estou por aqui, tá bem?
Bons estudos! :)
Olá Michel, tudo bem? Espero que sim!
O método pop só remove um item por vez, portanto não é possível passar um range como argumento, somente um único index.
Se deseja remover mais de um item, pode fazer um laço for:
for i in range(3):
Acessorios.pop()
Dessa forma, serão removidos os 3 últimos elementos, começando pelo último. É sempre do último porque por padrão o pop() remove o último valor da lista.
Bons estudos!