Curso de python nivel medio

¿Qué es un conjunto?

Un conjunto es una colección de elementos únicos y no ordenados en Python. Esto significa que:

  1. No puede haber elementos duplicados en un conjunto.
  2. No tiene un orden específico, por lo que los elementos no están indexados.

Los conjuntos son útiles cuando necesitas almacenar elementos y te importa más que sean únicos que el orden en el que están.

Cómo crear un conjunto

Puedes crear un conjunto de varias maneras en Python:

  1. Usando llaves {}:

    1frutas = {"🍎 manzana", "🍐 pera", "🍒 cereza"}
    2print(frutas) # No hay orden específico
    Salida de Consola!:
    {'🍐 pera', '🍎 manzana', '🍒 cereza'}
  2. Usando la función set():

    1numeros = set([1, 2, 3, 4, 4, 5])  # Elimina duplicados automáticamente
    2print(numeros)
    Salida de Consola!:
    {1, 2, 3, 4, 5}

Características principales de los conjuntos

  1. Elementos únicos: No puede haber duplicados en un conjunto.

    1frutas = {"🍎 manzana", "🍐 pera", "🍒 cereza", "🍎 manzana"}
    2print(frutas)  # La "manzana" duplicada se elimina automáticamente
    Salida de Consola!:
    {'🍎 manzana', '🍐 pera', '🍒 cereza'}
  2. No indexados: No puedes acceder a los elementos de un conjunto usando un índice como harías con una lista.

    1frutas = {"🍎 manzana", "🍐 pera", "🍒 cereza"}
    2print(frutas[0])  # Esto daría un error porque los conjuntos no tienen índices
    Salida de Consola!:
    Traceback (most recent call last):
    print(frutas[0])  
    TypeError: 'set' object is not subscriptable

Operaciones con conjuntos

Los conjuntos permiten realizar operaciones matemáticas como unión, intersección, diferencia, etc.

  1. Unión (union() o |): Combina los elementos de dos conjuntos, eliminando duplicados.

    1conjunto1 = {1, 2, 3}
    2conjunto2 = {3, 4, 5}
    3union = conjunto1.union(conjunto2)  # O también puedes usar conjunto1 | conjunto2
    4print(union)
    Salida de Consola!:
    {1, 2, 3, 4, 5}
  2. Intersección (intersection() o &): Devuelve solo los elementos que están en ambos conjuntos.

    1conjunto1 = {1, 2, 3}
    2conjunto2 = {3, 4, 5}
    3interseccion = conjunto1.intersection(conjunto2)
    4print(interseccion)
    Salida de Consola!:
    {3}

    otra forma

    1conjunto1 = {1, 2, 3}
    2conjunto2 = {3, 4, 5}
    3interseccion = conjunto1 & conjunto2
    4print(interseccion)
    Salida de Consola!:
    {3}
  3. Diferencia (difference() o -): Devuelve los elementos que están en el primer conjunto pero no en el segundo.

    1conjunto1 = {1, 2, 3}
    2conjunto2 = {3, 4, 5}
    3diferencia = conjunto1.difference(conjunto2)  # O también puedes usar conjunto1 - conjunto2
    4print(diferencia)
    Salida de Consola!:
    {1, 2}

    otra forma

    1conjunto1 = {1, 2, 3}
    2conjunto2 = {3, 4, 5}
    3diferencia = conjunto1 - conjunto2
    4print(diferencia)
    Salida de Consola!:
    {1, 2}
  4. Diferencia simétrica (symmetric_difference() o ^): Devuelve los elementos que están en uno de los conjuntos, pero no en ambos.

    1conjunto1 = {1, 2, 3}
    2conjunto2 = {3, 4, 5}
    3diferencia_simetrica = conjunto1.symmetric_difference(conjunto2) 
    4print(diferencia_simetrica)
    Salida de Consola!:
    {1, 2, 4, 5}

    otra forma

    1conjunto1 = {1, 2, 3}
    2conjunto2 = {3, 4, 5}
    3diferencia_simetrica = conjunto1 ^ conjunto2
    4print(diferencia_simetrica)
    Salida de Consola!:
    {1, 2, 4, 5}

Modificar un conjunto

Puedes agregar o eliminar elementos de un conjunto:

  1. Agregar elementos (add()):

    1frutas = {"🍎 manzana", "🍌 banana"}
    2frutas.add("🍊 naranja")
    3print(frutas) # No hay orden específico
    Salida de Consola!:
    {'🍎 manzana', '🍊 naranja', '🍌 banana'}
  2. Eliminar elementos (remove() o discard()):

    1frutas = {"🍎 manzana", "🍌 banana"}
    2frutas.remove("🍌 banana")
    3print(frutas)
    Salida de Consola!:
    {'🍎 manzana'}

    La diferencia entre remove() y discard() es que remove() generará un error si el elemento no existe en el conjunto, mientras que discard() no lo hará.

Resumen

  • Los conjuntos son colecciones de elementos únicos y no ordenados.
  • No permiten duplicados y no tienen índices.
  • Puedes realizar operaciones matemáticas como unión, intersección y diferencia.
  • Puedes agregar o eliminar elementos del conjunto fácilmente.

Conclusión

Los conjuntos son una estructura de datos poderosa y eficiente cuando necesitas trabajar con colecciones de elementos únicos. Su capacidad para realizar operaciones matemáticas de conjuntos los hace especialmente útiles en muchas aplicaciones. ¡Practica con conjuntos para familiarizarte con sus características y cómo pueden ayudarte en tus programas Python!

  • Loading...
  • Objetivo:

    Crea una variable llamada usuarios que sea un conjunto. Este conjunto debe contener los nombres de los siguientes usuarios:

    • "Juan"
    • "Ana"
    • "Carlos"
    • "Maria"
    • "Carlos"

    Luego, realiza las siguientes operaciones:

    • Añade un nuevo usuario, "Luis", al conjunto.
    • Elimina el usuario "Carlos" del conjunto.
    • Muestra todos los nombres de los usuarios.
    Loading...