Pasemos a una increíble publicación de Python que habla sobre un tipo de datos para colecciones llamados ensamblajes. Hay cuatro tipos de estructuras para trabajar con colecciones de datos: lista, establecer, tuplay diccionario. En esta publicación, no cubriremos los otros tres tipos de datos, sino que prepararemos el terreno para una mejor comprensión de cómo funcionan los conjuntos de Python.
También veremos algunos ejemplos de cómo se fabrican los kits, cómo podemos usarlos y qué beneficios dan.
Sin más preámbulos, comencemos de inmediato.
¿Qué es un ensamblaje en Python?
Un conjunto es un tipo de recopilación de datos utilizado en Python para almacenar varios elementos en una sola variable. Las colecciones de Python están desordenadas y, como tales, no siempre son coherentes en el orden en que se devuelven. Además, los elementos del conjunto no se pueden cambiar, es decir, no se pueden cambiar. Sin embargo, los elementos se pueden agregar y eliminar.
Los duplicados no están permitidos en los conjuntos de datos de Python y se eliminarán. También vale la pena señalar que el conjunto de Python admite cualquier tipo de datos, incluidos números, cadenas y valores booleanos, pero también admite estructuras de datos anidados.
Establecer en el ejemplo de Python
Un ensamblado en Python se identifica por el hecho de que este tipo de datos está encerrado entre llaves y también se crean con ellas. La información almacenada en la variable establecida se parece al siguiente ejemplo.
{"Boa", "Python", "Garter"}
Así es como se ven los datos establecidos y se pueden almacenar en una variable para usar en otros momentos en sus programas.
Cómo crear un kit en Python
El enfoque estándar de las declaraciones al crear un conjunto de Python utiliza la notación de llaves. Este es el enfoque más utilizado y tiene una sintaxis muy simple. Veámoslo más a fondo.
snekSet = {"Boa", "Python", "Garter"}
El Generador de ensamblajes es otro enfoque para crear ensamblajes de Python. Este método es más sencillo y ofrece otros beneficios, como la creación de instancias de ensamblaje más complejas.
snekSet = set( ("Boa", "Python", "Garter") ) # note the double ()
El siguiente bloque de código crearía tres conjuntos, cada uno con información añadida durante la creación.
var1 = ("Boa", "Ball", "Garter")
var2 = ("Constrictor", "Snake", "Python")
var3 = ("non-venomous", "venomous", "poisonous")
snekSet= set((var1, var2, var3))
Vale la pena señalar que, en este caso, cada conjunto en nuestro conjunto de nivel superior se devolverá en un patrón generado aleatoriamente. Sin embargo, los decorados del interior mantendrían el orden. Veámoslo con más detalle.
Si enumeramos el snekSet anterior para ver qué contiene, deberíamos ver uno de los siguientes resultados posibles.
{("Boa", "Ball", "Garter"), ("Constrictor", "Snake", "Python"), ("non-venomous", "venomous", "poisonous")}
{("Constrictor", "Snake", "Python"), ("Boa", "Ball", "Garter"), ("non-venomous", "venomous", "poisonous")}
{("non-venomous", "venomous", "poisonous"), ("Constrictor", "Snake", "Python"), ("Boa", "Ball", "Garter")}
El orden de cada elemento en un conjunto de nivel superior es inconsistente, y cuanto mayor sea el conjunto, más posibilidades de combinación. Sin embargo, si lo observamos, encontramos que conserva el orden de cada ensamblaje de nivel inferior, lo cual es notable cuando se trabaja con ensamblajes en Python.
¿Cómo accedo a los ensamblajes de Python?
Los elementos del conjunto no pueden ser el destino de una clave o índice; solo se puede acceder a los artículos individuales revisando el kit. El enfoque más común es utilizar para w un ciclo que nos permite iterar a través de un conjunto una vez por cada elemento contenido en él.
snekSet = {"Boa", "Python", "Garter"}
for x in snekSet:
print(x)
Esta llamada a la función de impresión imprimirá cada elemento uno por uno para cada iteración del bucle, finalizando después del último elemento del conjunto.
Otro método utilizado es en palabra clave Si el elemento está en el conjunto, devuelve un valor booleano. Por ejemplo, se imprimirá el siguiente bloque de código: CIERTO a la consola ya que Python está incluido.
snekSet = {"Boa", "Python", "Garter"}
print("Python" in snekSet)
Cómo agregar a ensamblajes en Python
Dado que los conjuntos tienen limitaciones para manipularlos, como elementos inmutables y el hecho de que no permiten duplicados, agregarlos es bastante sencillo. Los ensamblajes de Python vienen con un método llamado Agregar lo que nos permite agregar el artículo al conjunto directamente.
snekSet = {"Boa", "Python", "Garter"}
snekSet.add("Viper")
Este método agrega un solo elemento al conjunto, ya sea que el elemento sea una colección o no, lo que significa que la colección se agregará como un elemento no fusionado. La siguiente opción es usar actualizar un método para actualizar el conjunto con nuevos artículos. Tenga en cuenta que este enfoque difiere de Agregar métodos de varias maneras.
snekSet = {"Boa", "Python", "Garter"}
snekColorsSet = {"Red and Black", "multi-tone green"}
snekSet.update(snekColorsSet)
print(snekSet)
El bloque de código anterior actualizará el nuestro. snekSet con colores de snekColorsConjuntofusionando dos conjuntos en uno solo. En este caso, no hay duplicados. Si lo fueran, la actualización simplemente los ignorará y no se agregará.
¿Cómo elimino los ensamblajes de Python existentes?
La eliminación de elementos de un conjunto se puede hacer de más formas que la adición de elementos. La razón principal es que los conjuntos están desordenados y devuelven valores en orden aleatorio. Esta inconsistencia significa que la eliminación de elementos puede ser difícil sin apuntarlos directamente.
Métodos predecibles para eliminar miembros de ensamblaje en Python
Para eliminar elementos de forma predecible de un conjunto de Python, tenemos para eliminar y desechar métodos para determinar el elemento que queremos eliminar. Veamos los dos métodos y analicemos en qué se diferencian.
Python establece el método de eliminación
los para eliminar El método tiene una función útil, ya que genera un error si el objetivo no está presente. Este error puede alertarnos sobre un comportamiento inesperado, pero siempre debemos estar preparados para detectar este error si comienza.
snekSet = {"Boa", "Python", "Garter"}
snekSet.remove("Python")
print(snekSet)
En caso de error, el siguiente mensaje de error puede ayudarlo a identificar el problema.
KeyError: yourTargetKey
Método de rechazo de ensamblado de Python
El método de rechazo se diferencia en que es menos estricto y no generará un error si no hay objetivos. No hacerlo se aplica aquí; sin embargo, esté preparado para la posibilidad de que no se encuentre el elemento, ya que esto puede hacer que el software se comporte de forma inesperada.
snekSet = {"Boa", "Python", "Garter"}
snekSet.discard("Python")
print(snekSet)
los Música pop El método es diferente porque solo accede al ensamblaje y elimina el último elemento marcado. Sin embargo, dado que los artículos de pedido devueltos son impredecibles, no hay forma exacta de saber qué se eliminará del conjunto.
snekSet = {"Boa", "Python", "Garter"}
x = snekSet.pop()
print(x)
print(snekSet)
El método pop también devuelve el valor del elemento eliminado, lo que puede ser útil para realizar un seguimiento de los cambios realizados en los ensamblajes. En el código anterior imprimir (x) imprimirá el elemento eliminado mientras imprimir (snekSet) devolverá los artículos restantes.
Vaciar o eliminar el ensamblaje en Python
Para eliminar todos los elementos del conjunto, puede utilizar brillante un método que eliminará un conjunto de todos los elementos que contiene, pero mantendrá el conjunto en sí. El método transparente es útil para volcados de información y recarga de datos basados en parámetros dados en el software.
snekSet = {"Boa", "Python", "Garter"}
snekSet.clear()
los del la palabra clave tiene el mismo propósito en todo el mundo; en cada caso de uso compatible, la palabra clave del elimina el objetivo. En la mayoría de los otros tipos de colección de Python, puede apuntar a un elemento y eliminarlo. Debido a la naturaleza de las colecciones en Python, esta no es una operación viable; sin embargo, del todavía se puede usar para eliminar completamente un ensamblaje.
snekSet = {"Boa", "Python", "Garter"}
del snekSet
Combinar múltiples ensamblajes en Python
Poner los conjuntos juntos puede ser difícil. Afortunadamente, Python nos ha proporcionado varias funciones para facilitar este proceso de varias maneras. Veamos algunos de ellos y veamos cómo funcionan con cada uno de ellos.
Unión de conjuntos de Python
El método de unión simplemente combina dos conjuntos en uno y devuelve el nuevo conjunto con todos los valores. Si hay duplicados, se ignorarán sin error.
snekSet1 = {"Boa", "Python", "Garter"}
snekSet2 = {"Constrictor", "viper", "Boa"}
snekSet3 = set1.union(set2)
Actualización del kit de Python
El método de actualización es ligeramente diferente ya que no devuelve un nuevo ensamblaje. En su lugar, agrega elementos de un conjunto a otro conjunto objetivo.
snekSet1 = {"Boa", "Python", "Garter"}
snekSet2 = {"Constrictor", "viper", "Boa"}
snekSet1.update(snekSet2)
Hay otros métodos de conexión que se comportan de manera diferente; estos son intersección y diferencia_simétrica métodos.
Intersección de conjuntos de Python
La característica del método de intersección encuentra solo elementos duplicados en varios conjuntos. Esto puede parecer contradictorio dado que los conjuntos no pueden tener duplicados; Veamos cómo funciona.
snekSet1 = {"Boa", "Python", "Garter"}
snekSet2 = {"Constrictor", "viper", "Boa"}
snekSet3 = snekSet1.intersection(snekSet2)
En el ejemplo anterior, lo único que se mantendría es Boaporque los demás son únicos entre ambos conjuntos.
snekSet1 = {"Boa", "Python", "Garter"
snekSet2 = {"Constrictor", "Viper", "Boa"}
snekSet1.intersection_update(snekSet2)
Y al igual que el método de actualización, actualización_intersección cambia el propósito original en función del ensamblado proporcionado al método. Entonces, después de ejecutar el código anterior, nos quedaremos con snekSet1 demolido a un solo elemento.
Python establece diferencias simétricas
los diferencia_simétrica el método funciona al revés; compara dos conjuntos y solo conserva los elementos que NO están incluidos en ambos.
x = {"Boa", "Python", "Garter"}
y = {"Constrictor", "viper", "Boa"}
z = x.symmetric_difference(y)
los actualización_diferencia_simétrica El método es similar al anterior, sin embargo, también contribuye al enfoque de los métodos de actualización de actualizar un ensamblaje existente en lugar de devolver un ensamblaje completamente nuevo.
x = {"Boa", "Python", "Garter"}
y = {"Constrictor", "viper", "Boa"}
x.symmetric_difference_update(y)
print(x)
Hemos cubierto mucho aquí, y deberías estar orgulloso de ti mismo por haber llegado tan lejos, pero aún hay más por aprender. Así que ahora echemos un vistazo a algunos de los otros métodos que pueden resultar útiles para sus necesidades de desarrollo de software.
Métodos para ensamblajes de Python
Hay varios otros métodos, cada uno de los cuales funciona de manera diferente y pueden aumentar el poder de los kits de Python. Discutamos brevemente algunos de ellos, luego pasemos al resumen de esta publicación.

Usar ensamblajes en Python
Los kits de Python son únicos y tienen sus advertencias si no tiene cuidado, pero son poderosos. Algunos programadores echarían un vistazo a esta publicación e inmediatamente encontrarían que es una excelente estructura de datos de aprendizaje automático. Cualesquiera que sean sus objetivos, vale la pena entender los kits, así que resumamos esta publicación con un resumen rápido de lo que cubrimos hoy.
No solicitado: Los conjuntos de Python están desordenados; por lo tanto, no se puede acceder a los elementos del conjunto mediante índices; debe ser dirigido directamente. Aunque los elementos del conjunto se devuelven en orden aleatorio, Python nos ofrece los medios para apuntar a los elementos directamente. Python también trata los elementos del conjunto como claves sin valores emparejados.
Constante: Los ensamblajes de Python contienen elementos inmutables. Si bien aún podemos agregar y eliminar del conjunto, no podemos cambiar los elementos que ya están presentes.
Admite todos los tipos de datos: Los conjuntos de Python admiten todos los tipos de datos, incluidos números enteros, cadenas y valores booleanos, y puede mezclarlos como desee.
Admite datos anidados: Los ensamblajes de Python también admiten recopilaciones de datos anidados. Esto significa que podemos anidar grupos de datos en un conjunto como elementos individuales.
Muchas formas de interactuar: Con los conjuntos de datos de Python, tenemos muchas formas de interactuar con ellos. Sin embargo, hay más formas de combinar conjuntos que agregar o eliminar elementos.
Reservas a tener en cuentaR: Hay algunas advertencias que se deben tener en cuenta al trabajar con conjuntos de datos de Python. Esta mayor advertencia tiene que ver con cómo la naturaleza desordenada de los kits puede afectar su software. Además, dado que no puede segmentar elementos en función de su índice, debe tener más cuidado al acceder a los datos del conjunto.
Con esta información a su disposición, puede comenzar a usar conjuntos de datos de Python, intentar experimentar con ellos y aprender a manipularlos. Pero recuerda que los errores y equivocaciones son tan esclarecedores como no tenerlos.








