Operadores de Python para conjuntos y diccionarios

El siguiente artículo analiza principalmente los operadores utilizados en conjuntos y   diccionarios . Los operadores ayudan a combinar el valor existente con expresiones sintácticas más grandes mediante el uso de varias palabras clave y símbolos.

  1. Conjuntos: la clase Conjunto se utiliza para representar la colección de elementos sin duplicados y sin ningún orden inherente a esos elementos. Está delimitado por {} y cada elemento está separado por una coma (,) y es mutable.

Ejemplo:

Python3

# set of alphabet
set = {'a', 'b', 'c', 'd', 'e'}
print(set)

Producción:

{'c', 'b', 'd', 'e', 'a'}

        2. Conjuntos congelados: es una forma inmutable de un conjunto, que se utiliza para formar un conjunto del conjunto.

         Los conjuntos y los conjuntos congelados admiten los siguientes operadores:

  • key in s: Se utiliza para comprobar si la clave dada está en el conjunto o no.
  • key not in s : devuelve True si la clave no está en el conjunto.

Ejemplo:

Python3

s = {4, 5, 8, 6, 3, 2, 5}
key = 3
x = key in s  # containment check
y = key not in s  # non-containment check
print(x, y)

Producción:

True False
  • s1 == s2 : Comprobar que s1 es equivalente a s2. es decir, todos los elementos de s1 están en s2 y viceversa. devuelve True si s1 es equivalente a s2.
  • s1 != s2 :  s1 no es equivalente a s2. es decir, al menos uno de los elementos de s1 no está en s2. devuelve True si s1 no es equivalente a s2.

Ejemplo:

Python3

s1 = {'t', 3, 6, 5, 7, 8, 4, 9}
s2 = {5, 7, 8, 9, 't', 4, 3, 6}
  
# equivalent check
x = s1 == s2
  
# non-equivalent check
y = s1 != s2
print(x)
print(y)

Producción:

True
False

La comparación de conjuntos no es lexicográfica ya que los conjuntos no organizan sus elementos en el orden correcto. Así, s1 no puede ser mayor o menor que s2 y viceversa, sino que pueden ser subconjuntos o superconjuntos.

  • s1 <= s2 :  s1 es un subconjunto de s2. es decir, todos los elementos de s1 están en s2, devuelve True si s1 es un subconjunto de s2.
  • s1 < s2 :  s1 es un subconjunto propio de s2. es decir, todos los elementos de s1 están en s2 pero todos los elementos de s2 no están necesariamente en s1, devuelve True si s1 es un subconjunto propio de s2.
  • s1 >= s2 : s1 es superconjunto de s2. es decir, todos los elementos de s2 están en s1, devuelve True si s1 es un superconjunto de s2.
  • s1 > s2 : s1 es el superconjunto propio de s2. es decir, todos los elementos de s2 están en s1 pero todos los elementos de s1 no están necesariamente en s2, devuelve True si s1 es un superconjunto propio de s2.

Ejemplo :

Python3

s1 = {2, 5, 3, 7, 'c', 'a', 8}
s2 = {3, 7, 8, 'c'}
  
# subset check
w = s1 <= s2
  
# proper subset check
x = s1 < s2
  
# superset check
y = s1 >= s2
  
# proper superset check
z = s1 > s2
print(w, x, y, z)

Producción:

False False True True
  • s1 | s2: unión de s1 y s2, devuelve elementos de s1 y s2 sin repetición.
  • s1 & s2: intersección de s1 y s2, devuelve elementos que están presentes en ambos conjuntos.
  • s1 − s2:  diferencia de conjuntos, devuelve elementos que están en s1 pero no en s2.
  • s1 ˆ s2: el conjunto de elementos en precisamente uno de s1 o s2, devuelve elementos que están en s1 pero no en s2 y elementos que están en s2 pero no en s1.

Ejemplo:

Python3

s1 = {2, 5, 3, 7, 'c', 'a', 8}
s2 = {3, 7, 8, 'c', 9, 11, 'd'}
  
# union
w = s1 | s2
  
# intersection
x = s1 & s2
  
# elements which are in s1 but not in s2
# and elements which are in s2 but not in s1
y = s1 ^ s2
  
# set difference
z = s1-s2
print(w)
print(x)
print(y)
print(z)

Producción:

{2, 3, 5, ‘a’, 7, 8, 9, 11, ‘d’, ‘c’}

{8, ‘c’, 3, 7}

{2, 5, 9, ‘d’, 11, ‘a’}

{2, 5, ‘un’}

    3. Diccionarios: Es un mapeo de diferentes claves a sus valores asociados. También usamos corchetes { } para crear diccionarios. 

Ejemplo:

Python3

# Example of Dictionary
d = {'jupiter': 'planet', 'sun': 'star'}
print(d)

Producción:

{'jupiter': 'planet', 'sun': 'star'}

Los diccionarios admiten los siguientes operadores:

  • d[clave]: se utiliza para obtener el valor asociado con la clave dada del diccionario.
  • d[clave] = valor : se utiliza para establecer (o restablecer) el valor asociado con la clave dada del diccionario.
  • del d[clave]: Sirve para borrar del diccionario la clave y su valor asociado.

Ejemplo:

Python3

dict = {'math': 45, 'english': 60, 'science': 65, 
        'computer science': 70}
  
# retrieving value by using key
x = dict['science']
print(x)
  
# reassigning value
dict['english'] = 80
print(dict)
  
# deleting
del dict['math']
print(dict)

Producción:

65
{‘matemáticas’: 45, ‘inglés’: 80, ‘ciencia’: 65, ‘informática’: 70}
{‘inglés’: 80, ‘ciencia’: 65, ‘informática’: 70}

  • key in d: Se utiliza para comprobar si una determinada clave está en el diccionario o no. también llamado control de contención. Devuelve un valor booleano.
  • key not in d: Devuelve un valor booleano, True si la clave no está presente en el diccionario, también llamada verificación de no contención

Ejemplo:

Python3

dict = {'math': 45, 'english': 60, 'science': 65,
        'computer science': 70}
  
# containment check
x = 'english' in dict
  
# non-containment check
y = 'hindi' not in dict
print(x)
print(y)

Producción:

True
True
  • d1 == d2:  compara el par clave-valor de ambos diccionarios, si lo encuentra, devuelve True.
  • d1 != d2: compara el par clave-valor de ambos diccionarios, si se encuentra devuelve True.

Ejemplo:

Python3

d1 = {'a': 5, 'b': 7, 'c': 9, 'e': 3}
d2 = {'c': 9, 'a': 5, 'b': 7, 'e': 3}
  
x = d1 == d2
y = d1 != d2
  
print(x)
print(y)

Producción:

True
False

Los diccionarios son similares a los conjuntos. tampoco tienen elementos en un orden definido.

El concepto de subconjunto y superconjunto no es aplicable en los diccionarios. Por lo tanto, los operadores de subconjuntos y superconjuntos no tienen sentido para él.

Publicación traducida automáticamente

Artículo escrito por nandannits y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *