Em Python , você pode programar uma função para remover duplicatas de uma seqüência usando vários métodos , mas , dependendo do tipo de tipos de dados contém uma seqüência , um método pode ser mais rápido do que outro , mas poderá não funcionam com tanta freqüência. Por exemplo, você pode programar uma função que usa um dicionário com uma coleção de chaves únicas para verificar se há duplicatas rapidamente , mas também pode não funcionar . Por outro lado , você também pode programar uma função recursiva que verifica cada item em uma sequência contra os itens de outra seqüência temporária. Isso sempre funciona para remover duplicatas , mas leva muito mais tempo . Instruções
1
Abra o shell Python ou linha de comando
2
Digite o seguinte: .
Def removeDuplicatesOne ( mySeq ) :
tempSeq = {}
tentar:
for x in mySeq :
tempSeq [x] = 1
exceto TypeError :
del tempSeq
mais:
retornar tempSeq.keys ( )
Lembre-se de recuar corretamente para evitar um erro de sintaxe . Isto define uma função e aceita uma sequência como um parâmetro . Ele usa um dicionário para verificar a seqüência fornecido para a função de duplicatas e lojas de membros não- duplicados em uma seqüência temporária , em seguida, retorna uma seqüência ordenada
3
Digite o seguinte: . < Br >
def removeDuplicatesTwo ( mySeq ) :
tempSeq = [ ]
for x in mySeq :
se x não em tempSeq :
tempSeq . append ( x)
retornar tempSeq
Este define uma função que utiliza um algoritmo mais lento do que o anterior, mas trabalha com mais freqüência também. Ele cria uma seqüência temporária , então simplesmente percorre cada item na seqüência e verifica existente para ver se esse item existe no temporária. Se não, esse item é adicionado à seqüência temporária. Se assim for, ele ignora que , em seguida, recomeça com o próximo item. Ele retorna uma seqüência indiferenciados
4
Digite o seguinte: .
RemoveDuplicatesOne ( [ 4,2,5,1,6,3,4,2,6,4,2 , 6 ] ) :
a sequência é passado para a função e os duplicados são removidos . Python retorna a seguinte seqüência : [ 1,2,3,4,5,6 ]
5
Digite o seguinte: .
RemoveDuplicatesTwo ( [ 4,2,5,1 , 6,3,4,2,6,4,2,6 ] ) :
a seqüência é passada para a função e as duplicatas são removidas. Python retorna a seguinte seqüência : [ 4,2,5,1,6,3 ]
.