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?