Programação RPi Python 09: conjuntos e dicionários Python

Programación RPi Python 09: conjuntos de Python y diccionarios

En el tutorial anterior aprendimos cómo manipular valores de datos en listas y matrices de bytes . Python también tiene colecciones mutables desordenadas, incluidos conjuntos y diccionarios.

Repasemos estos dos y aprendamos a manipular valores/objetos de datos en conjuntos y diccionarios.

Conjuntos
Los conjuntos son colecciones de elementos mutables y desordenadas. Los elementos de un conjunto pueden ser cualquier objeto inmutable arbitrario y cada uno debe ser único. Esto significa que no se permiten artículos duplicados.

Los conjuntos en Python son similares a los conjuntos matemáticos. Por ejemplo, los elementos se denominan elementos de conjunto. Un conjunto se define mediante el constructor del conjunto o mediante un par de llaves ({}). Cuando se crea un conjunto utilizando el constructor de conjuntos, solo se le puede pasar un argumento. Por lo tanto, los elementos del conjunto deben agruparse en una lista como argumento en el constructor del conjunto.

A continuación se muestran algunos ejemplos válidos:

s1 = {1, 2, 3, 4}
imprimir(s1)
s2 = conjunto(('a', 'b', 'c'))
imprimir(s2)

Los elementos de un conjunto no pueden ser objetos mutables. Esto significa que listas, conjuntos y diccionarios no pueden ser elementos de un conjunto. Sin embargo, las cadenas, bytes, números enteros, flotantes, números complejos y tuplas pueden ser elementos de un conjunto.

Se puede crear un conjunto vacío utilizando el constructor de conjuntos sin argumentos o mediante un par de corchetes vacíos.

A continuación se muestran ejemplos válidos de conjuntos vacíos:

s1 = {}
s2 = conjunto

Dado que los conjuntos son colecciones desordenadas, sus elementos no están vinculados a ninguna clave o índice. No se puede acceder a los elementos de un conjunto mediante clave o índice, pero es posible comprobar si un elemento pertenece o no a un conjunto. Cuando esto ocurre, se hace referencia a los elementos de un conjunto por su valor.

Aunque los conjuntos sólo pueden contener objetos inmutables, los conjuntos en sí son mutables. Así, es posible agregar, eliminar y modificar elementos de un conjunto. Los objetos inmutables contenidos en un conjunto se pueden manipular utilizando los operadores, métodos de conjunto y funciones integrados de Python.

Los conjuntos tienen los siguientes métodos:

Los métodos se pueden aplicar a un conjunto utilizando la sintaxis set_name.method_name. A continuación se muestran ejemplos válidos de los métodos definidos:

s1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
s2 = {2, 4, 6}
s3 = {2, 3}
s2.añadir(8)
imprimir(s2)
s3.actualización((5, 7, 9, 11))
imprimir(s3)
s3.eliminar(9)
imprimir(s3)
s3.descartar(11)
imprimir(s3)
a = s3.pop
imprimir
imprimir(s3)
s3.añadir
s4 = s3.copia
imprimir(s4)
s4.claro
imprimir (t4)
s4 = s2.unión(s3)
imprimir (t4)
s5 = s2.diferencia(s3)
imprimir(s5)
s5 = s2. diferencia_simétrica(s3)
imprimir(s5)
s5 = s2.intersección(s3)
imprimir(s5)
imprimir(s5.isdisjoint(s3))
s1.difference_update(s5)
imprimir(s1)
s1.añadir(2)
s1.intersection_update(s5)
imprimir(s1)
s1.actualización((0, 1, 3, 4, 5, 6, 7, 8, 9))
s1.actualización_diferencia_métrica(s5)
imprimir(s1)
imprimir(s3.issubset(s1))
s1.añadir(2)
imprimir(s3.issubset(s1))
imprimir(s3.issuperset(s1))
imprimir(s1.issuperset(s3))

Las siguientes funciones integradas de Python aceptan conjuntos como argumentos:

Aquí hay un ejemplo válido del uso de funciones en conjuntos:

s1 = {'a', 'c', Ninguno, 'b'}
s2 = {12, 8, 41, 245, 5}
imprimir(len(s1))
imprimir (cualquiera (s1))
imprimir(todos(s1))
s1.remove (Ninguno)
imprimir(máx(s1))
imprimir(min(s1))
imprimir(suma(s2))
imprimir(clasificado(s1))
imprimir(clasificado(s2))
para x en enumerar (ordenado (s1)):
imprimir (x)

Esta tabla resume las operaciones comunes en conjuntos cuando se utilizan operadores, declaraciones, métodos o funciones:

Es importante señalar que los elementos de un conjunto no tienen orden, lo que significa que no se permiten elementos duplicados. Al aplicar el método de unión, si dos conjuntos tienen elementos duplicados, solo quedará una copia del duplicado en el conjunto.

Del mismo modo, agregar o actualizar elementos duplicados en un conjunto no cambia el conjunto. Un conjunto siempre tiene elementos únicos.

Diccionarios

Los diccionarios son una colección mutable y desordenada de pares clave-valor. Las claves en un diccionario solo pueden ser objetos inmutables y "hashables" (únicos). Los valores pueden incluir cualquier objeto arbitrario, inmutable o mutable.

Un diccionario se puede definir usando el constructor dict o un par de llaves ({}). Estos son ejemplos válidos de diccionarios:

d1 = {x:25, y:57,z:64}
d2 = {'x':25, 'y':57, 'z':64,}
d3 = {'x':25, 57:'y', 'z':8.9j6.5}
d4 = dict(x=25, y=57, z=64)
d5 = dict((x, 25), (y, 57), (z, 64))

Los elementos de un diccionario están vinculados a sus claves, lo que significa que se puede acceder a los valores/objetos de datos almacenados en un diccionario mediante sus claves. Estas claves pueden incluir cualquier objeto hash, a diferencia de las claves enteras en las listas.

A continuación se muestra un ejemplo de cómo acceder a los elementos de un diccionario mediante una clave:

d1 = {'a':25, 'b':57, 'c':92}
imprimir(d1('a'))

Si los identificadores se utilizan como claves o valores, deben ser objetos definidos. Este ejemplo no es válido:

d1 = {a:25,b:57,c:92}
imprimir(d1(a))

Aquí hay un ejemplo válido:

un = 0
segundo = 1
c = 2
d1 = {a:25,b:57,c:92}
imprimir(d1(a))

También se puede acceder a los elementos de un diccionario mediante el método get. La belleza del método get es que devuelve un objeto No si la clave no existe. Intentar acceder a un elemento del diccionario mediante una clave inexistente dará como resultado un KeyError.

Este es un ejemplo válido de acceso a elementos del diccionario mediante el método get:

d1 = {'a':25, 'b':57, 'c':92}
print(d1.get('a')) # Impresiones 25
print(d1.get('d')) # Imprimir Ninguno

Los diccionarios tienen estos métodos:

Estos métodos se pueden aplicar a un diccionario usando la sintaxis dict_name.method_name. Aquí hay un ejemplo válido de los métodos del diccionario:

d1 = {0:'a', 1:'b', 2:'c', 3:'d'}
print(d1.get(0)) # Impresiones 25
print(d1.get(4)) # Imprimir Ninguno
print(d1.get(4, 'No encontrado'))
imprimir (d1.claves)
imprimir (d1.valores)
imprimir (d1.elementos)
d1.setdefault(4, 'e')
imprimir (d1.elementos)
d1.update({5:'f', 6:'g'})
imprimir (d1.elementos)
d1.pop(6)
imprimir (d1.elementos)
d1.popitem
imprimir (d1.elementos)
d2 = d1.copia
d1.claro
imprimir (d1.elementos)
imprimir (d2.elementos)
x = (0, 1, 2, 3)
y = 'VALOR'
d1 = dict.fromkeys(x, y)
imprimir (d1.elementos)
imprimir (d2.elementos)

Las siguientes funciones integradas de Python aceptan diccionarios como argumentos:

Este es un ejemplo válido del uso de funciones en diccionarios:

d1 = {0:'a', 1:'b', 2:'c', 3:'d'}
imprimir(len(d1))
imprimir (cualquiera (d1))
print(all(d1)) #Devuelve False porque una de las claves es 0
d1.pop(0)
imprimir(todo(d1))
d2 = {'LED':40, 'Siete segmentos':12, 'Pantalla LCD':4}
imprimir (ordenado (d2))
imprimir (ordenado (d2, reverso = Verdadero))
diferencia(x):
devolver longitud(x)
imprimir(ordenado(d2, clave=f))

Esta tabla resume las operaciones comunes en diccionarios cuando se utilizan operadores, declaraciones, métodos o funciones:

Los diccionarios pueden tener valores duplicados, pero nunca claves duplicadas. Las claves de un diccionario siempre deben ser inmutables y susceptibles de hash.

En el próximo tutorial cubriremos características orientadas a objetos y patrones de diseño en Python.

Conteúdo Relacionado

En cada vehículo hay una red de sensores integrada...
El controlador del motor es uno de los componentes...
ESP32-CAM es un módulo de cámara compacto que combina...
La evolución de los estándares USB ha sido fundamental...
SCHURTER anuncia una mejora de su popular serie SWZ...
Visual Communications Company (VCC) ha anunciado sus nuevos tubos...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Probablemente se haya encontrado con el término " resistencia...
Probablemente tenga un aislante de soporte si ha notado...
Probablemente haya visto un aislante colocado en postes de...
Probablemente hayas visto aisladores de grillete entronizados en postes...
Probablemente hayas experimentado situaciones en las que controlar un...
Regresar al blog

Deja un comentario

Ten en cuenta que los comentarios deben aprobarse antes de que se publiquen.