¡Noticias, Reseñas, Redes Sociales y Consejos sobre Tecnología!

5 métodos para eliminar elementos duplicados de listas de Python

5 métodos para eliminar elementos duplicados de listas de Python

Nota: El siguiente artículo le ayudará: 5 métodos para eliminar elementos duplicados de listas de Python

En este tutorial aprenderás cómo hacerlo. Eliminar elementos duplicados de listas de Python.

Cuando se trabaja con listas en Python, a veces sólo es necesario trabajar con elementos únicos en la lista, eliminando los duplicados.

Hay varias formas de hacer esto. En este tutorial, repasaremos cinco de estas técnicas.

Conceptos básicos de las listas de Python

Comencemos nuestra discusión revisando los conceptos básicos de las listas de Python.

Las listas de Python son mutables. De modo que puede cambiarlos en el momento agregando y eliminando elementos de la lista. Además, las listas de Python son colecciones de elementos que no son necesariamente únicos.

Bueno, puedes hacer esto de diferentes maneras. Puede crear una nueva lista que contenga solo los elementos únicos de la lista original. O puede modificar la lista original y eliminar los elementos duplicados.

Los aprenderemos en detalle en este tutorial.

Métodos para eliminar duplicados de listas de Python

Tomemos un ejemplo real. Supongamos que estás en la fiesta de cumpleaños de tu amigo.🎊🎉

En la colección de caramelos mostrada verás que algunos elementos se repiten. Ahora desea eliminar estos elementos duplicados de la lista de dulces.

Creemos una lista de dulces que incluya todos los elementos de la imagen de arriba.

dulces = [“cupcake”,”candy”,”lollipop”,”cake”,”lollipop”,”cheesecake”,”candy”,”cupcake”]

En la lista de dulces anterior, los elementos “dulce” y “cupcake” se repiten dos veces. Usemos esta lista de muestra para eliminar los elementos duplicados.

Iterar a través de listas de Python para eliminar duplicados

El método más sencillo es crear una nueva lista que contenga cada elemento exactamente una vez.

Lea la siguiente celda de código:

dulces_unicos = []para dulce en dulces: si es dulce no en dulces_únicos: dulces_únicos.append(dulce) print(dulces_únicos) Salida[‘cupcake’, ‘candy’, ‘lollipop’, ‘cake’, ‘cheesecake’]

  • Inicializamos una lista vacía Unique_sweets.
  • A medida que avanzamos en la lista de dulces, accedemos a cada dulce.
  • Si el dulce aún no está presente en la lista de dulces_únicos, lo agregamos al final de la lista de dulces_únicos usando el método .append().

Suponga que se encuentra con un artículo que se repite, p. B. la segunda aparición de “dulces” en la lista de dulces. Esto no se agrega a la lista de dulces_únicos porque ya existe: dulce no en dulces_únicos se evalúa como Falso para la segunda aparición de “cupcake” y “candy”.

Por lo tanto, con este método, cada entrada aparece exactamente una vez en la lista Unique_Sweets, sin repetición.

Utilice la comprensión de listas para eliminar duplicados

También puede utilizar la comprensión de listas para completar la lista Unique_Sweets.

¿Quiere repasar los conceptos básicos de comprensión de listas?

▶️ Tutorial de comprensión de listas de observación en Python.

Usemos la expresión de comprensión de listas: [output for item in iterable if condition is True] para reescribir brevemente el bucle anterior.

dulces_unicos = [][unique_sweets.append(sweet) for sweet in sweets if sweet not in unique_sweets]

print(unique_sweets) Salida[‘cupcake’, ‘candy’, ‘lollipop’, ‘cake’, ‘cheesecake’]

Aunque crea una nueva lista, no completa la lista creada con valores. Esto se debe a que la salida es la operación .append() en la lista Unique_Sweets.

Para eliminar elementos duplicados de las listas de Python, también puede utilizar métodos de lista integrados y lo cubriremos en la siguiente sección.

Utilice métodos de lista integrados para eliminar duplicados

Puede utilizar los métodos de lista de Python .count() y .remove() para eliminar elementos duplicados.

– Con la sintaxis lista.count(valor), el método .count() devuelve el número de veces que el valor aparece en la lista. Entonces el número de elementos repetidos es mayor que 1.

lista.eliminar(valor) elimina la primera aparición de valor de la lista.

Usando lo anterior tenemos el siguiente código.

para dulce en dulces: verifique si el recuento de dulces es > 1 (elemento repetido) if sweets.count(sweet) > 1: si es Verdadero, elimine la primera aparición de sweets sweets.remove(sweet) print(sweets) producción[‘cake’, ‘lollipop’, ‘cheesecake’, ‘candy’, ‘cupcake’]

Debido a que el método .remove() elimina la primera aparición de un valor, no puede usarlo para eliminar elementos que aparecen más de dos veces.

  • Si un elemento en particular está duplicado (ocurre exactamente dos veces), este método elimina la primera aparición.
  • Si un determinado elemento se repite K veces, después de ejecutar el código anterior todavía quedarán K-1 repeticiones.

Pero en general, cuando hablamos de duplicados, normalmente nos referimos a repeticiones.

Para manejar este caso, puede modificar el bucle anterior para eliminar todas las repeticiones menos una. En lugar de utilizar una condición if para verificar el recuento de un elemento específico, puede ejecutar un bucle while para eliminar duplicados repetidamente hasta que el recuento de todos los elementos de la lista sea 1.

La lista de dulces ahora contiene 2 repeticiones de “Cupcake” y 3 repeticiones de “Candy”.

dulces = [“cupcake”,”candy”,”lollipop”,”cake”,”lollipop”,”candy”,”cheesecake”,”candy”,”cupcake”]

Puede utilizar un bucle while para eliminar repeticiones como se muestra a continuación. El bucle while continúa ejecutándose mientras el número de caramelos en caramelos sea mayor que 1. Si solo queda una aparición, la condición sweets.count(sweet) > 1 se vuelve False y el bucle salta al siguiente elemento.

para dulce en dulces: comprobar si el recuento de dulces es > 1 (elemento repetido) while(sweets.count(sweet) > 1): elimina repetidamente la primera aparición de dulce hasta que quede una. dulces.remove(dulce) print(dulces) Salida[‘cake’, ‘lollipop’, ‘cheesecake’, ‘candy’, ‘cupcake’]

Sin embargo, el uso de bucles anidados puede no resultar muy eficaz. Por lo tanto, puede utilizar cualquiera de las otras técnicas analizadas cuando trabaje con listas grandes.

Hasta ahora hemos aprendido lo siguiente:

  • Métodos para eliminar elementos duplicados de las listas de Python (mediante la creación de listas nuevas) que contienen solo elementos únicos
  • Métodos de lista integrados .count() y .remove() para cambiar la lista en su lugar

Hay algunas estructuras de datos integradas en Python que requieren que todos los valores sean únicos, sin repetición. Por lo tanto, podemos convertir una lista de Python en una de estas estructuras de datos para eliminar duplicados. Y luego conviértalo nuevamente en una lista. Descubrirá cómo hacer esto en las siguientes secciones.

Convierta la lista de Python para configurarla para eliminar duplicados

Los conjuntos de Python son colecciones de elementos que. Por lo tanto, el número de elementos presentes en el conjunto (dado por len()) es igual al número de elementos únicos presentes.

Puede convertir cualquier iterable de Python en un conjunto utilizando la siguiente sintaxis: set(iterable).

Ahora conviertamos la lista de dulces en un conjunto y examinemos el resultado.

set(dulces) Salida {‘pastel’, ‘dulces’, ‘tarta de queso’, ‘magdalena’, ‘piruleta’}

Del resultado de la celda de código anterior, vemos que cada elemento aparece exactamente una vez y los duplicados se han eliminado.

También tenga en cuenta que el orden de los artículos no necesariamente coincide con el orden en la lista de dulces original. Esto se debe a que un objeto Set de Python no es sólo una colección de elementos únicos, sino también un colección desordenada.

Después de eliminar los duplicados convirtiendo la lista en un conjunto, podemos volver a convertirla en una lista como se muestra a continuación.

dulces_únicos = lista(conjunto(dulces)) imprimir(dulces_únicos) Salida[‘cake’, ‘cheesecake’, ‘candy’, ‘cupcake’, ‘lollipop’]

Utilice elementos de la lista como claves de diccionario para eliminar duplicados

El diccionario de Python es una colección de pares clave-valor donde las claves identifican de forma única los valores.

Puede crear un diccionario de Python utilizando el método .fromkeys() con la siguiente sintaxis: dict.fromkeys(claves, valores). Aquí las claves y los valores son iterables que contienen las claves y valores del diccionario respectivamente.

  • claves es un parámetro y puede ser cualquier iterable de Python que corresponda a las claves del diccionario.
  • Los valores son un parámetro. Si no especifica los valores iterables, se utiliza el valor predeterminado Ninguno.

Sin especificar los valores, dict.fromkeys(sweets) devuelve un diccionario de Python con los valores establecidos en Ninguno, el valor predeterminado. La siguiente celda de código explica esto.

dict.fromkeys(dulces) Salida {‘pastel’: Ninguno, ‘dulces’: Ninguno, ‘tarta de queso’: Ninguno, ‘cupcake’: Ninguno, ‘piruleta’: Ninguno}

Como en la sección anterior, podemos volver a convertir el diccionario en una lista como se muestra a continuación.

dulces_únicos = lista(dict.fromkeys(dulces)) print(dulces_únicos) Salida[‘cupcake’, ‘candy’, ‘lollipop’, ‘cake’, ‘cheesecake’]

En el resultado anterior podemos ver que los elementos duplicados se han eliminado de la lista de Dulces.

Resumen👩‍🏫

A continuación se muestra un resumen de los diferentes métodos que puede utilizar para eliminar elementos duplicados o repeticiones de las listas de Python.

  • Utilice el método de lista de Python .adjuntar() para agregar elementos que no se repiten a una nueva lista. La nueva lista contiene cada elemento de la lista original exactamente una vez y elimina todas las repeticiones. También puedes hacer esto usando la comprensión de listas.
  • Uso integrado .para contar() y .Borrar() Métodos para eliminar elementos que aparecen exactamente dos veces. El mismo se puede colocar en un mientras Bucle para eliminar cualquier aparición adicional.
  • Convierta una lista de Python en un conjunto para conservar solo los elementos únicos.
  • Usar dict.fromkeys(lista) para eliminar todos los duplicados de la lista, ya que no debería haber claves repetidas en el diccionario.

A continuación, consulte los proyectos de Python para practicar y aprender. O aprenda cómo encontrar el índice de un elemento en las listas de Python. ¡Diviértete estudiando!

Your Header Sidebar area is currently empty. Hurry up and add some widgets.