I Python , kan du programmera en funktion för att ta bort dubbletter från en sekvens med flera metoder , men beroende på vilken typ av datatyper en sekvens innehåller , kan en metod vara snabbare än en annan , men kan inte att fungera lika ofta. Till exempel kan du programmera en funktion som använder en ordbok med en samling av unika nycklar för att kolla efter dubbletter snabbt , men kan också sluta fungera . Å andra sidan , kan du också programmera en funktion som rekursivt kontrollerar varje objekt i en sekvens mot en annan tillfällig sekvens s artiklar . Det fungerar alltid att ta bort dubbletter , men tar mycket längre tid . Instruktioner
1
Öppna Python shell eller kommandorad
2
Skriv följande : .
Def removeDuplicatesOne ( mySeq ) :
tempSeq = { }
prova :
för x i mySeq :
tempSeq [ x ] = 1
utom Typfel :
del tempSeq
annat :
retur tempSeq.keys ( ) katalog
Kom ihåg att strecksatsen korrekt för att undvika ett syntaxfel . Detta definierar en funktion och accepterar en sekvens som en parameter. Den använder en ordbok för att kontrollera sekvensen ges till funktionen för dubbletter och lagrar icke - dubbletter medlemmar i en tillfällig ordning , sedan returnerar en sorterad sekvens Addera 3
Skriv följande : .
def removeDuplicatesTwo ( mySeq ) :
tempSeq = [ ]
för x i mySeq :
p Om x inte i tempSeq :
tempSeq . append ( x ) katalog
retur tempSeq
Detta definierar en funktion som använder en långsammare algoritm som den föregående, men arbetar oftare liksom. Det skapar en tillfällig ordning , sedan helt enkelt går igenom varje post i befintliga sekvensen och kontrollerar om detta objekt finns i tillfällig . Om inte, är att objektet till den tillfälliga sekvensen. Om så är fallet , hoppar det som sedan börjar om med nästa punkt . Den returnerar en osorterad sekvens
4
Skriv följande : .
RemoveDuplicatesOne ( [ 4,2,5,1,6,3,4,2,6,4,2 , 6 ] ) :
sekvensen skickas till funktionen och dubbletter tas bort . Python returnerar följande sekvens : . [ 1,2,3,4,5,6 ]
5
Skriv följande :
removeDuplicatesTwo ( [ 4,2,5,1 , 6,3,4,2,6,4,2,6 ] ) :
sekvensen skickas till funktionen och dubbletter tas bort . Python returnerar följande sekvens : . [ 4,2,5,1,6,3 ]