I Python kan du programmere en funktion til at fjerne dubletter fra en sekvens ved hjælp af flere metoder, men afhængigt af hvilken slags datatyper en sekvens indeholder måske en metode være hurtigere end en anden , men kan ikke arbejde så ofte. For eksempel kan man programmere en funktion, som bruger en ordbog med en samling af unikke nøgler at tjekke for dubletter hurtigt , men kan også mislykkes at arbejde. På den anden side , kan du også programmere en funktion, rekursivt kontrollerer hvert element i en sekvens mod en anden midlertidig sekvens s poster. Dette altid arbejder for at fjerne dubletter , men tager meget længere tid . Instruktioner
1
Åbn Python shell eller kommandolinje
2
Skriv følgende : .
Def removeDuplicatesOne ( mySeq ) : Hej
tempSeq = {}
prøve : Hej
for x i mySeq : Hej
tempSeq [x] = 1
undtagen TypeError : Hej
del tempSeq
andet :
retur tempSeq.keys ( )
Husk at indrykke korrekt for at undgå en syntaksfejl . Dette definerer en funktion og accepterer en sekvens som en parameter . Det bruger en ordbog for at kontrollere den viste rækkefølge til funktionen for dubletter og gemmer ikke eksemplarer medlemmer i en midlertidig rækkefølge , derefter returnerer en sorteret sekvens
3
Skriv følgende : . < Br >
def removeDuplicatesTwo ( mySeq ) : Hej
tempSeq = [ ]
for x i mySeq : Hej
hvis x ikke er i tempSeq :
tempSeq . append (x )
retur tempSeq
Dette definerer en funktion, der bruger en langsommere algoritme, den foregående, men arbejder oftere så godt. Det skaber en midlertidig sekvens , så bare cykler gennem hvert element i den eksisterende rækkefølge og kontrollerer, om det emne findes i den midlertidig. Hvis ikke, denne post føjes til den midlertidige sekvens. Hvis ja, springer det som så starter forfra med det næste punkt . Den returnerer en usorteret sekvens
4
Skriv følgende : .
RemoveDuplicatesOne ( [ 4,2,5,1,6,3,4,2,6,4,2 , 6] ) : Hej
sekvens ledes til funktion og de dubletter fjernes. Python returnerer følgende rækkefølge: . [ 1,2,3,4,5,6 ]
5
Skriv følgende : Hej
removeDuplicatesTwo ( [ 4,2,5,1 , 6,3,4,2,6,4,2,6 ] ) : Hej
sekvens ledes til funktion og de dubletter fjernes. Python returnerer følgende rækkefølge: . [ 4,2,5,1,6,3 ]