Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Python Programming >> .

Come rimuovere i duplicati da una sequenza in Python

In Python , si può programmare una funzione per rimuovere i duplicati da una sequenza utilizzando diversi metodi , ma a seconda del tipo di tipi di dati contiene una sequenza , un metodo può essere più veloce di un altro , ma può non funzionare più spesso . Ad esempio, è possibile programmare una funzione che utilizza un dizionario con una collezione di chiavi univoche per controllare i duplicati in modo rapido, ma può anche non funzionare . D'altra parte , si può anche programmare una funzione che controlla ricorsivamente ogni elemento di una sequenza contro gli elementi di un'altra sequenza temporanea . Questo funziona sempre per rimuovere i duplicati , ma richiede molto più tempo . Istruzioni
1

Aprire la shell Python o riga di comando
2

Digitare quanto segue : .

Def removeDuplicatesOne ( mySeq ) :

tempSeq = { }

provare :

per x in mySeq :

tempSeq [ x ] = 1

eccezione TypeError :

del tempSeq

altro :
tempSeq.keys ritorno

( ) per

Ricordati di rientro correttamente per evitare un errore di sintassi . Questo definisce una funzione e accetta una sequenza come parametro . Esso utilizza un dizionario per controllare la sequenza prevista per la funzione di duplicati e negozi di membri non duplicati in una sequenza temporanea , quindi restituisce una sequenza ordinata
3

Digitare quanto segue: .

def removeDuplicatesTwo ( mySeq ) :

tempSeq = [ ]

per x in mySeq :

se x non in tempSeq :

tempSeq . append ( x ) per

ritorno tempSeq

Questo definisce una funzione che utilizza un algoritmo più lento che quello precedente, ma lavora più spesso pure. Si crea una sequenza temporanea , poi semplicemente cicli attraverso ogni elemento della sequenza esistente e verifica se tale elemento esiste in quella temporanea . Se no , tale elemento viene aggiunto alla sequenza temporanea . Se è così , salta che ricomincia con la voce successiva . Esso restituisce una sequenza non ordinata
4

Digitare quanto segue : .

RemoveDuplicatesOne ( [ 4,2,5,1,6,3,4,2,6,4,2 , 6 ] ):

la sequenza viene passata alla funzione e ai duplicati vengono rimossi . Python restituisce la seguente sequenza : . [ 1,2,3,4,5,6 ]
5

Digitare quanto segue :

removeDuplicatesTwo ( [ 4,2,5,1 , 6,3,4,2,6,4,2,6 ] ):

la sequenza viene passata alla funzione e ai duplicati vengono rimossi . Python restituisce la seguente sequenza : . [ 4,2,5,1,6,3 ]

 

Programmazione © www.354353.com