emovendo elementos que possuem duplicatas consecutivas no Pyth
Fiquei curioso sobre a questão:Eliminar duplicatas consecutivas dos elementos da lista e como ele deve ser implementado em Pytho
O que eu criei é o seguinte:
list = [1,1,1,1,1,1,2,3,4,4,5,1,2]
i = 0
while i < len(list)-1:
if list[i] == list[i+1]:
del list[i]
else:
i = i+1
Saída
[1, 2, 3, 4, 5, 1, 2]
O que eu acho que está bem.
Então fiquei curioso e queria ver se conseguia excluir o elements que tiveram duplicatas consecutivas e obtiveram esta saída:
[2, 3, 5, 1, 2]
Para isso eu fiz isso:
list = [1,1,1,1,1,1,2,3,4,4,5,1,2]
i = 0
dupe = False
while i < len(list)-1:
if list[i] == list[i+1]:
del list[i]
dupe = True
elif dupe:
del list[i]
dupe = False
else:
i += 1
Mas parece meio desajeitado e não pitônico, você tem alguma maneira mais inteligente / elegante / mais eficiente de implementar isso?