Python: como remover / excluir cada n-ésimo elemento da lista?
Eu já havia consultado este post:Python: construindo uma nova lista a partir da existente, descartando todos os elementos n-ésimos, mas por algum motivo não funciona para mim:
Eu tentei assim:
def drop(mylist, n):
del mylist[0::n]
print(mylist)
Esta função pega uma lista en
. Em seguida, ele remove todos os n-ésimos elementos usando n-step da lista e imprime o resultado.
Aqui está minha chamada de função:
drop([1,2,3,4],2)
Saída errada:[2, 4]
ao invés de[1, 3]
Então eu tentei uma variante no link acima:
def drop(mylist, n):
new_list = [item for index, item in enumerate(mylist) if index % n != 0]
print(new_list)
Mais uma vez, chamada de função:
drop([1,2,3,4],2)
Dá-me o mesmo resultado errado:[2, 4]
ao invés de[1, 3]
Como remover / excluir / soltar corretamente todos osn-ésimo item de uma lista?