GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo usar conjuntos en Python

Aprenda a usar conjuntos en Python como un punto de entrada para que los estudiantes de Python y los programadores de Python aprendan y/o codifiquen conceptos más avanzados como funciones de Lambda, Map Reduce, API de colecciones de Java e interfaz de colecciones de Python.

Este tutorial analizará varios casos de uso cotidiano de la estructura de datos establecida en el lenguaje de programación Python con ejemplos para ayudarlo a comprender mejor los conceptos.

¡Sigue leyendo para empezar!

Requisitos

Este tutorial será una demostración práctica. Si desea seguirnos, asegúrese de tener lo siguiente:

  • Entorno Python v3 o posterior instalado.
  • Un editor de código para ejecutar código Python como VS Code.

Creando sus primeros conjuntos en Python

En Python, dos estructuras de datos son listas, que son colecciones ordenadas de datos mutables y diccionarios que almacenan datos en pares clave-valor. Mutable significa que los datos se pueden cambiar después de su creación. Los conjuntos comparten características tanto de listas como de diccionarios. Al igual que las listas, los conjuntos son colecciones mutables de elementos únicos.

A diferencia de las listas, los conjuntos no tienen índice porque no son una secuencia, lo que los hace más parecidos a los diccionarios, que también son colecciones desordenadas. Python optimiza en gran medida tanto los conjuntos como los diccionarios para las operaciones de búsqueda, lo que aumenta la velocidad.

Puede buscar una clave para obtener un valor en un diccionario, como encontrar el nombre de alguien y luego obtener su número de teléfono cuando busca en una libreta de direcciones. Pero los conjuntos no contienen pares clave-valor. En su lugar, busca un elemento dentro de los conjuntos para verificar si existe o no en el conjunto. Este concepto se llama prueba de membresía.

Para aprender, ¡es hora de crear un conjunto! Un conjunto se crea agregando elementos a un conjunto. ¡Vamos a ensuciarte las manos!

1. Inicie una sesión interactiva de Python en la terminal.

2. Una vez que su sesión de Python esté lista, cree un conjunto llamando al set() y pase cualquier tipo de datos que desee agregar. Copie y pegue el código siguiente en su sesión de Python y presione Intro para crear su primer conjunto. Estás declarando el my_firs_set variable, con el conjunto literal:llaves. El ATA, Hello World string es el primer y único elemento.

my_first_set = {'ATA, Hello World'}

3. Ejecute el siguiente comando para llamar a su primer conjunto y comprobar que crea el conjunto.

my_first_set

Obtendrá la cadena, ATA, Hello World a cambio, como se muestra a continuación.

4. Puedes verificar dos veces que my_first_set es un conjunto usando el type() función para obtener el tipo de datos del my_first_set . Ejecute el siguiente código para obtener el tipo de datos.

type(my_first_set)

Obtendrá el resultado que se muestra a continuación. La salida confirma my_first_set es un conjunto.

5. Dado que un conjunto es una colección, tiene la función de longitud incorporada:len() . Ejecute el siguiente código para obtener la longitud del conjunto.

len(my_first_set)

A cambio, obtendrá 1, como se muestra a continuación, porque el conjunto contiene solo un elemento. Un conjunto que contiene exactamente un elemento también se conoce como conjunto singleton.

Comprender conjuntos que definen propiedades

Un conjunto tiene dos propiedades definitorias, las cuales verá a continuación. A nadie le gustan los spoilers, sigue leyendo para empezar a codificar y conocer estas propiedades.

Cree un nuevo archivo llamado set_comparison.py y copie y pegue el siguiente código en él.

# You will make a couple of sets. The first set is {1, 2, 3}, 
# the second set has the same numbers in a different order {3, 2, 1}.
# You'll use a double equal sign == to compare the sets. # And you'll use a print statement to print out the result of this comparison.
print({1, 2, 3} == {3, 2, 1})

Ejecute el siguiente comando en su IDE para ejecutar set_comparison.py script e imprima el resultado de la comparación.

python set_comparison.py

Obtendrá verdadero como salida como se muestra a continuación:Python evaluó estos dos conjuntos y los consideró iguales. Tienen la misma longitud y contienen exactamente los mismos elementos entre sí.

Cuando un elemento está en un conjunto, se garantiza que es único de otros elementos. En palabras concretas, un conjunto es un objeto matemático que realiza un seguimiento de todos los valores distintos en una colección o cadena determinada.

1️⃣ Los conjuntos de Python no son secuencias:el orden de los elementos en el conjunto no importa. Los conjuntos están desordenados.

A continuación, aprenderá cómo los conjuntos manejan los valores duplicados. Cree un nuevo archivo llamado set_integer_number.py , copie y pegue la línea de abajo. Cada miembro de este conjunto literal será un número entero, separado por comas, y algunos de estos números enteros se repetirán sin ningún orden en particular.


print({1, 2, 3, 2, 3, 4, 3, 4, 4, 4})

Ejecute el siguiente comando para imprimir los miembros del conjunto.

python set_integer_number.py

Obtendrá un resultado como el siguiente, donde puede ver que set_integer_number contiene solo los valores únicos 1 , 2 , 3 y 4 . Aunque los hayas repetido casi todos. Cuando Python evalúa y construye e imprime el conjunto real, solo tiene cuatro miembros en el conjunto.

Cuando un elemento está en un conjunto, se garantiza que es único de otros elementos. En palabras concretas, un conjunto es un objeto matemático que realiza un seguimiento de todos los valores distintos en una colección o cadena determinada.

2️⃣ Los conjuntos de Python no contienen datos duplicados:no hay valores duplicados. Los miembros son únicos y diferentes entre sí.

Puede verificar dos veces si los valores duplicados están almacenados imprimiendo la longitud de este conjunto usando el len() método. Elimina el contenido anterior de set_integer_number.py y copie y pegue la siguiente línea en el set_integer_number.py archivo.

print(len({1, 2, 3, 2, 3, 4, 3, 4, 4, 4}))

Ejecute el siguiente comando para imprimir la longitud del conjunto.

python set_integer_number.py

Obtendrás el número 4 en la salida como se muestra a continuación, lo que significa que solo hay cuatro miembros en el conjunto.

Compare estas propiedades con un ejemplo de la vida real de un conjunto. Un conjunto de frutas:manzanas, plátanos, naranjas, limones y limas. No importa el orden de los frutos. Si cambia el orden de la lista, nada será diferente. Todavía tienes la misma lista de frutas. Las manzanas no son más importantes que las bananas o los limones.

Todas las frutas son únicas y son claramente diferentes entre sí. Si alguien te pide que nombres cinco frutas, no dirías plátanos cinco veces:una vez es suficiente. Dado que los plátanos ya están en el conjunto, agregarlos nuevamente no debería cambiar el conjunto.

Agregar elementos a un conjunto de Python

En la sección anterior, aprendió cómo crear un nuevo conjunto de Python. En esta sección, aprenderá a manipular conjuntos de Python. Lo primero es agregar elementos a un conjunto.

Los conjuntos de Python son mutables, lo que significa que los datos dentro de un conjunto se pueden cambiar después de la creación del conjunto.

Hay dos métodos para agregar elementos a un conjunto. El add() el método agrega un elemento, mientras que el update() método agrega más de un elemento.

Cree un nuevo archivo llamado set_vowels.py , copie y pegue el siguiente código en el archivo.

# You'll declare a new variable vowels and assign it as an empty set.
vowels = set()
#Use the add() method to add one element to the set. 
# Let's add A, which was the first vowel.
vowels.add('A')
#Print the new set with the added element.
print(vowels)

Ejecute el código siguiente para comprobar que está añadiendo elementos al conjunto.

python set_vowels.py

Obtendrá una salida como la siguiente. Observe que imprime 'A ‘ cuando imprimes set_vocals contenido, lo que significa que 'A' es miembro de set_vowels .

Ahora, en lugar de agregar el resto de las vocales una por una, es hora de agregarlas todas juntas con el método de actualización.

Copie y pegue la siguiente línea en su set_vowels.py expediente. Usarás un tipo iterable, que es una cadena:U , E , O y yo . El método de actualización revisará cada elemento uno por uno, haciendo que la cadena sea iterable, y agregará cada elemento al conjunto.

vowels.update('U, E, O, I')

Ejecute el siguiente código para comprobar que el conjunto contiene las cuatro vocales recién añadidas.

python set_vowels.py

Obtendrá el resultado que se muestra a continuación. Puedes ver que agrega todas las vocales al conjunto.

El orden no es determinista para estos tipos de datos de cadena. Entonces, si tus vocales salen en un orden diferente, está bien; está funcionando según lo previsto.

Eliminar elementos de un conjunto de Python

En la sección anterior, aprendió cómo agregar elementos a un conjunto. En esta sección, aprenderá a eliminar elementos de un conjunto.

Hay cuatro métodos para eliminar un elemento de un conjunto de Python:

  • clear()
  • remove()
  • discard()
  • pop()

Vayamos a cada método uno por uno. Los ejemplos se basarán en el conjunto de vocales de la sección anterior. Creará una copia en lugar del conjunto original para no afectar el conjunto original.

El copy() El método hace una copia del conjunto. Por ejemplo, copie y pegue las siguientes líneas en su set_vowels.py archivo para hacer una copia para cada método de eliminación.

clear_method = vowels.copy()
remove_method = vowels.copy()
discard_method = vowels.copy()
clear_method = vowels.copy()

Aprender el método claro

El primer método es el clear() método, cuya sintaxis es set.clear() . Este método no acepta ningún argumento.

Copie y pegue las siguientes líneas en su set_vowels.py para llamar al clear() e imprima el clear_method establecer

clear_method.clear()
print(clear_method)

Ejecute el código a continuación y obtendrá un conjunto vacío impreso como se muestra a continuación. El clear() eliminó todos los elementos del conjunto.

python set_vowels.py

Uso del método Remove

Ahora, en el remove() método. Este método toma un argumento, que es el elemento que desea eliminar del conjunto. La sintaxis para remove() el método es set.remove(element) . Utilizará este método en su código a continuación.

remove_method = vowels.copy()
# Rmove the letter A.
remove_method.remove('A')
print(remove_method)

Ejecute el siguiente código para verificar que la eliminación de la letra A del remove_method establecer.

python set_vowels.py

Obtendrá una salida como la que se muestra a continuación. Puedes ver que A ya no es parte del conjunto.

Si intenta eliminar un elemento que no existe en el conjunto, obtendrá un error clave. Invoquemos el remove() método con un elemento que no es miembro del conjunto, la letra B.

remove_method = vowels.copy()
remove_method.remove('B')
print(remove_method)

Vuelva a ejecutar set_vowels.py, y obtendrá un resultado que muestra un error, como el que se muestra a continuación.

Eliminar elementos con el método de descarte

El tercer método es el discard() método. Este método toma un argumento, que es el elemento que desea eliminar de un conjunto.

La diferencia entre remove() y discard() es que si un elemento no existe, el método descarte() no generará un error. Este método evita generar un KeyError, y puedes llamar al discard() tantas veces como se desee.

La sintaxis del discard() el método es set.discard(element) . Una vez más, copie y pegue el código a continuación. Descartarás la B letra, que no es miembro del conjunto, y esta vez Python no generará un error.

discard_method = vowels.copy()
discard_method.discard('B')
print(discard_method)

Ejecute set_vowels.py de nuevo y ver qué pasa.

python set_vowels.py

Obtendrá una salida como la que se muestra a continuación. Puedes ver que no hay ningún error.

Sacar elementos mediante el método Pop

El último método es el pop() método. Este método no acepta argumentos, elimina un elemento aleatorio del conjunto y devuelve el elemento eliminado. La sintaxis del método pop() es set.pop() .

Copie y pegue el siguiente código para invocar el pop() e imprima el elemento eliminado.

pop_method = vowels.copy()
vowel = pop_method.pop()
print(vowel)
print(pop_method)

Ejecute set_vowels.py, y obtendrá una salida como la que se muestra a continuación. El conjunto de vocales original tiene cinco vocales. Tu pop_method set tiene cuatro vocales:el método elimina y devuelve la vocal O .

Desde pop() elimina un elemento aleatorio, es posible que haya obtenido un resultado diferente. Ejecute el código varias veces y notará la aleatoriedad en el juego.

Conclusión

Ahora debería comprender mejor los conjuntos de Python y la metodología necesaria para crear, eliminar o agregar elementos a los conjuntos. Como siguiente paso, ¿por qué no explorar las operaciones de conjuntos y los conjuntos frente a las listas?


Linux
  1. Cómo usar BusyBox en Linux

  2. Cómo uso cron en Linux

  3. Cómo usar Nginx para redirigir

  4. Cómo usar Python para consultar WMI (Linux – Windows)

  5. ¿Cómo configuro curl para usar permanentemente un proxy?

Cómo actualizar Python a 3.9

Cómo instalar Python 3 en Windows 10

Comando set de Linux y cómo usarlo {9 ejemplos}

Cómo configurar un entorno virtual de Python en Debian 10 Buster

Cómo comprobar la versión de Python

Cómo instalar y usar Python-Mistune en Linux