obtener elementos únicos en python

“Minus” entre dos listas en #Python


…o cómo seleccionar los elementos (únicos) que no están en otra lista cuando programamos en Python.

El otro día, implementando un comando para mi “colección”, me encontré que necesitaba dejar en una lista de valores numéricos los que no se repetían en otra y, aunque sencillo, tuve que hacer alguna que otra prueba hasta encontrar la solución (me negaba a hacer un recorrido o loop) por lo que la dejo aquí para la próxima vez que lo necesite 😅

Y es que, aunque sencillo, tengo tal “jaleo” de lenguajes en la cabeza (¿cómo era eso de quien mucho abarca…?) que cosas en teoría simples como ésta, me hacen dudar (sí, lo sé, lo sé… ya voy cumpliendo años y tengo menos “reflejos” 🤣)

El truco es realmente sencillo:

  1. basta convertir las listas en conjuntos y utilizar el operador de diferencia (o resta)
  2. y convertimos (nuevamente) el conjunto resultante en una lista para poder seguir trabajando con élla como hasta ese momento
a=[3,2,5,4]
b=[1,5,3,6]
list(set(a)-set(b))

Como puedes intuir, la diferencia entre las dos listas en python anteriores es [2,4] como se observa en la siguiente captura

Conclusión

Forma sencilla ¿y rápida? de obtener los elementos que no se repiten en otra lista de valores en Python que espero te resulte de utilidad.

Y tú…

  • ¿Qué haces para calcular la diferencia entre dos listas en Python?
  • ¿Conoces otra forma más eficiente de hacerlo?
  • ¿Qué operaciones con listas en Python te gustaría ver por aquí?

2 comentarios en ““Minus” entre dos listas en #Python

  1. Me pasa todo el tiempo, cuando tengo una necesidad recurro a Python, nunca me decepciona.

    Mis scripts hacen su trabajo bien y rápido. Pero siempre te queda esa duda de … ¿Se puede hacer mejor? y es que Python es un lenguaje muy vasto y vivo.

    Es complicado recordar esos detalles que pueden hacer una diferencia.

    Bien bajado ese balón, haciendo una operación básica de conjuntos.

    ¡Saludos!.

    Me gusta

    1. Gracias monstruo… Python al final es una navaja suiza que suele venir muy bien para todo y todos a pesar de los constantes cambios que va sufriendo (y que no creo llegar a aprovechar la mayoría de las veces limitándome al subconjunto de cosas que ya sé hacer con él)

      Cada día lo uso más frente a bash para cualquier automatización y y luego me alegro porque además tengo la ventaja de que es multiplataforma (por mucho que algunos cuenten con WSL 😉 )

      Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios .