Eliminador de duplicados de matrices de Python
Filtre elementos duplicados de una lista de Python manteniendo su orden de inserción original.
Descripción general
Eliminar duplicados es una de las operaciones de limpieza de datos más comunes en el software.
Convertir una lista a un conjunto (`set(arr)`) elimina los duplicados pero destruye el orden de los elementos porque los conjuntos no están ordenados.
Para eliminar duplicados y al mismo tiempo preservar el orden, recorremos la lista y rastreamos los elementos vistos en un conjunto, agregando nuevos a una lista de resultados.
Código y salida de ejecución
Acumulador eficiente de elementos únicos O(n) que preservan el orden.
def remove_duplicates(arr):
seen = set()
result = []
for item in arr:
if item not in seen:
seen.add(item)
result.append(item)
return result
sample_list = [1, 2, 2, 3, 4, 4, 1, 5]
print("Original:", sample_list)
print("Unique: ", remove_duplicates(sample_list))Original: [1, 2, 2, 3, 4, 4, 1, 5]
Unique: [1, 2, 3, 4, 5]Implementación paso a paso
- Desinfectar el historial de búsqueda y los registros de transacciones
- Preparación de una lista de claves de datos únicas para consultas SQL
- Limpieza de matrices para mapeo de visualización.
Preguntas frecuentes
¿Cuál es la forma más rápida de hacer esto enPython 3.7+?
Dado quePython 3.7+ conserva el orden de inserción del diccionario, puede ejecutar `list(dict.fromkeys(arr))` para eliminar duplicados mientras mantiene el orden en un solo paso optimizado.
Temas relacionados
Explore los algoritmos de clasificación de Python. Visualice la clasificación por burbujas y la clasificación por combinación de forma nativa dentro del contexto IDE de un navegador.
Algoritmo de búsqueda binaria de PythonBusque listas ordenadas en tiempo logarítmico O (log n). Ejecute y comprenda la búsqueda binaria en Python, incluida la lógica paso a paso, los casos extremos y las optimizaciones.