In Python , kunt u een functie programmeren om duplicaten uit een sequentie met behulp van verschillende methoden te verwijderen , maar afhankelijk van wat voor soort data een sequentie bevat , kan een methode sneller dan de andere , maar kan niet werken zo vaak . Bijvoorbeeld , kunt u een functie die een woordenboek gebruikt met een verzameling van unieke sleutels om snel te controleren op duplicaten , maar kan ook niet werken programmeren . Aan de andere kant kan je ook een functie die recursief controleert elk item in een reeks artikelen tegen een andere tijdelijke opeenvolging 's programmeren . Dit werkt altijd om duplicaten te verwijderen , maar duurt veel langer . Instructies 1 Open de Python shell of command line Type 2 het volgende : . Def removeDuplicatesOne ( mySeq ) : tempSeq = { } proberen : voor x in mySeq : tempSeq [ x ] = 1 uitzondering TypeError : del tempSeq anders : return tempSeq.keys ( ) op Vergeet niet te kunnen inspringen op een syntax fout te vermijden . Dit definieert een functie en accepteert een sequentie als een parameter . Het maakt gebruik van een woordenboek om de volgorde waarin de functie voor duplicaten en winkels niet- dubbele -leden in een tijdelijke opeenvolging controleren , dan geeft een gesorteerde volgorde Type 3 het volgende : . < Br > def removeDuplicatesTwo ( mySeq ) : tempSeq = [ ] voor x in mySeq : als x niet in tempSeq : tempSeq . append ( x ) terugkeer tempSeq Dit definieert een functie die een tragere algoritme dat de vorige, maar werkt vaker ook gebruik maakt . Het creëert een tijdelijke opeenvolging , dan gewoon doorloopt elk item in de bestaande volgorde en controleert om te zien of dat punt bestaat in de tijdelijke. Zo niet , wordt het item toegevoegd aan de tijdelijke sequentie . Zo ja, dan slaat dat begint dan over met het volgende item . Het geeft een gesorteerde volgorde Type 4 het volgende : . RemoveDuplicatesOne ( [ 4,2,5,1,6,3,4,2,6,4,2 , 6] ) de sequentie wordt doorgegeven aan de functie en ontdubbeld . Python geeft de volgende volgorde : . [ 1,2,3,4,5,6 ] Typ de volgende 5 : removeDuplicatesTwo ( [ 4,2,5,1 , 6,3,4,2,6,4,2,6 ] ) de sequentie wordt doorgegeven aan de functie en ontdubbeld . Python geeft de volgende volgorde : . [ 4,2,5,1,6,3 ]
|