En Python , puede programar una función para eliminar los duplicados de una secuencia utilizando varios métodos , pero dependiendo de qué clase de tipos de datos contiene una secuencia , un método puede ser más rápido que otros , pero pueden no funciona con la frecuencia . Por ejemplo , puede programar una función que utiliza un diccionario con una colección de claves únicas para comprobar si hay duplicados rápidamente, pero también puede no funcionar . Por otro lado , también puede programar una función recursiva que comprueba cada elemento de una secuencia contra los elementos de otra secuencia temporal. Esto siempre trabaja para eliminar los duplicados , pero lleva mucho más tiempo . Instrucciones
1
Abra el shell Python o de línea de comandos
2
Escriba lo siguiente : .
Def removeDuplicatesOne ( myseq ) :
< p > tempSeq = { }
Proveedores:
for x in myseq :
tempSeq [x ] = 1
excepción TypeError :
< p > del tempSeq
más:
tempSeq.keys retorno
( )
Recuerde guión correctamente para evitar un error de sintaxis . Esto define una función y acepta una secuencia como parámetro . Se utiliza un diccionario para comprobar el orden en que aparecen en la función de duplicados y almacena miembros no duplicados en una secuencia temporal, a continuación, devuelve una secuencia ordenada
3
Escriba lo siguiente : . < Br >
def removeDuplicatesTwo ( myseq ) :
tempSeq = [ ]
for x in myseq :
si x no en tempSeq :
tempSeq . append ( x)
regreso tempSeq
Esto define una función que utiliza un algoritmo más lento que el anterior, pero trabaja más a menudo también. Se crea una secuencia temporal , a continuación, simplemente ciclos a través de cada elemento de la secuencia existente y comprueba para ver si ese elemento existe en el uno temporal. Si no es así, que el elemento se agrega a la secuencia temporal. Si es así , salta que comienza de nuevo con el siguiente artículo. Devuelve una secuencia sin clasificar
4
Escriba lo siguiente : .
RemoveDuplicatesOne ( [ 4,2,5,1,6,3,4,2,6,4,2 , 6 ] ) :
la secuencia se pasa a la función y los duplicados se eliminan . Python devuelve la siguiente secuencia: . [ 1,2,3,4,5,6 ]
5
Escriba lo siguiente :
removeDuplicatesTwo ( [ 4,2,5,1 , 6,3,4,2,6,4,2,6 ] ) :
la secuencia se pasa a la función y los duplicados se eliminan . Python devuelve la siguiente secuencia: . [ 4,2,5,1,6,3 ]