Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> python

Diccionario de Python

Diccionario de Python

En este tutorial, aprenderá todo sobre los diccionarios de Python; cómo se crean, accediendo, agregando, eliminando elementos de ellos y varios métodos incorporados.

Video:Diccionarios de Python para almacenar pares clave/valor

El diccionario de Python es una colección desordenada de elementos. Cada elemento de un diccionario tiene un key/value pareja.

Los diccionarios están optimizados para recuperar valores cuando se conoce la clave.


Creación de diccionario de Python

Crear un diccionario es tan simple como colocar elementos entre llaves {} separados por comas.

Un artículo tiene un key y un value correspondiente que se expresa como un par (clave:valor ).

Si bien los valores pueden ser de cualquier tipo de datos y pueden repetirse, las claves deben ser de tipo inmutable (cadena, número o tupla con elementos inmutables) y deben ser únicas.

# empty dictionary
my_dict = {}

# dictionary with integer keys
my_dict = {1: 'apple', 2: 'ball'}

# dictionary with mixed keys
my_dict = {'name': 'John', 1: [2, 4, 3]}

# using dict()
my_dict = dict({1:'apple', 2:'ball'})

# from sequence having each item as a pair
my_dict = dict([(1,'apple'), (2,'ball')])

Como puede ver desde arriba, también podemos crear un diccionario usando el dict() integrado función.


Acceso a elementos desde el diccionario

Mientras que la indexación se usa con otros tipos de datos para acceder a los valores, un diccionario usa keys . Las claves se pueden usar dentro de corchetes [] o con el get() método.

Si usamos los corchetes [] , KeyError se genera en caso de que no se encuentre una clave en el diccionario. Por otro lado, el get() método devuelve None si no se encuentra la clave.

# get vs [] for retrieving elements
my_dict = {'name': 'Jack', 'age': 26}

# Output: Jack
print(my_dict['name'])

# Output: 26
print(my_dict.get('age'))

# Trying to access keys which doesn't exist throws error
# Output None
print(my_dict.get('address'))

# KeyError
print(my_dict['address'])

Salida

Jack
26
None
Traceback (most recent call last):
  File "<string>", line 15, in <module>
    print(my_dict['address'])
KeyError: 'address'

Cambiar y agregar elementos del diccionario

Los diccionarios son mutables. Podemos agregar nuevos artículos o cambiar el valor de los artículos existentes usando un operador de asignación.

Si la clave ya está presente, el valor existente se actualiza. En caso de que la clave no esté presente, una nueva (clave:valor ) par se agrega al diccionario.

# Changing and adding Dictionary Elements
my_dict = {'name': 'Jack', 'age': 26}

# update value
my_dict['age'] = 27

#Output: {'age': 27, 'name': 'Jack'}
print(my_dict)

# add item
my_dict['address'] = 'Downtown'

# Output: {'address': 'Downtown', 'age': 27, 'name': 'Jack'}
print(my_dict)

Salida

{'name': 'Jack', 'age': 27}
{'name': 'Jack', 'age': 27, 'address': 'Downtown'}

Eliminar elementos del diccionario

Podemos eliminar un elemento en particular en un diccionario usando el pop() método. Este método elimina un elemento con el key proporcionado y devuelve el value .

El popitem() El método se puede usar para eliminar y devolver un (key, value) arbitrario par de elementos del diccionario. Todos los elementos se pueden eliminar a la vez, usando el clear() método.

También podemos usar el del palabra clave para eliminar elementos individuales o todo el diccionario.

# Removing elements from a dictionary

# create a dictionary
squares = {1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

# remove a particular item, returns its value
# Output: 16
print(squares.pop(4))

# Output: {1: 1, 2: 4, 3: 9, 5: 25}
print(squares)

# remove an arbitrary item, return (key,value)
# Output: (5, 25)
print(squares.popitem())

# Output: {1: 1, 2: 4, 3: 9}
print(squares)

# remove all items
squares.clear()

# Output: {}
print(squares)

# delete the dictionary itself
del squares

# Throws Error
print(squares)

Salida

16
{1: 1, 2: 4, 3: 9, 5: 25}
(5, 25)
{1: 1, 2: 4, 3: 9}
{}
Traceback (most recent call last):
  File "<string>", line 30, in <module>
    print(squares)
NameError: name 'squares' is not defined

Métodos del diccionario de Python

Los métodos que están disponibles con un diccionario se tabulan a continuación. Algunos de ellos ya se han utilizado en los ejemplos anteriores.

Método Descripción
borrar() Elimina todos los elementos del diccionario.
copiar() Devuelve una copia superficial del diccionario.
fromkeys(seq[, v]) Devuelve un nuevo diccionario con claves de seq y valor igual a v (predeterminado en None ).
obtener(clave[,d]) Devuelve el valor de la clave . Si la clave no existe, devuelve d (predeterminado en None ).
elementos() Retorna un nuevo objeto de los elementos del diccionario en formato (clave, valor).
teclas() Devuelve un nuevo objeto de las claves del diccionario.
pop(tecla[,d]) Elimina el elemento con la tecla y devuelve su valor o d si clave no se encuentra. Si d no se proporciona y la clave no se encuentra, levanta KeyError .
popitem() Elimina y devuelve un elemento arbitrario (clave, valor ). Aumenta KeyError si el diccionario está vacío.
establecer por defecto(clave[,d]) Devuelve el valor correspondiente si la clave está en el diccionario. Si no, inserta la clave con un valor de d y devuelve d (predeterminado en None ).
actualizar([otro]) Actualiza el diccionario con los pares clave/valor de otro , sobrescribiendo las claves existentes.
valores() Devuelve un nuevo objeto de los valores del diccionario

Estos son algunos ejemplos de casos de uso de estos métodos.

# Dictionary Methods
marks = {}.fromkeys(['Math', 'English', 'Science'], 0)

# Output: {'English': 0, 'Math': 0, 'Science': 0}
print(marks)

for item in marks.items():
    print(item)

# Output: ['English', 'Math', 'Science']
print(list(sorted(marks.keys())))

Salida

{'Math': 0, 'English': 0, 'Science': 0}
('Math', 0)
('English', 0)
('Science', 0)
['English', 'Math', 'Science']

Comprensión del diccionario de Python

La comprensión del diccionario es una forma elegante y concisa de crear un nuevo diccionario a partir de un iterable en Python.

La comprensión del diccionario consta de un par de expresiones (clave:valor ) seguido de un for declaración dentro de llaves {} .

Aquí hay un ejemplo para hacer un diccionario en el que cada elemento sea un par de un número y su cuadrado.

# Dictionary Comprehension
squares = {x: x*x for x in range(6)}

print(squares)

Salida

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Este código es equivalente a

squares = {}
for x in range(6):
    squares[x] = x*x
print(squares)

Salida

{0: 0, 1: 1, 2: 4, 3: 9, 4: 16, 5: 25}

Una comprensión de diccionario puede contener opcionalmente más declaraciones for o if.

Un if opcional puede filtrar elementos para formar el nuevo diccionario.

Aquí hay algunos ejemplos para hacer un diccionario con solo elementos impares.

# Dictionary Comprehension with if conditional
odd_squares = {x: x*x for x in range(11) if x % 2 == 1}

print(odd_squares)

Salida

{1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

Para aprender más comprensiones de diccionarios, visite Comprensión de diccionarios de Python.


Otras operaciones de diccionario

Prueba de membresía del diccionario

Podemos probar si un key está en un diccionario o no usa la palabra clave in . Tenga en cuenta que la prueba de membresía es solo para el keys y no para el values .

# Membership Test for Dictionary Keys
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

# Output: True
print(1 in squares)

# Output: True
print(2 not in squares)

# membership tests for key only not value
# Output: False
print(49 in squares)

Salida

True
True
False

Iterando a través de un diccionario

Podemos iterar a través de cada clave en un diccionario usando un for bucle.

# Iterating through a Dictionary
squares = {1: 1, 3: 9, 5: 25, 7: 49, 9: 81}
for i in squares:
    print(squares[i])

Salida

1
9
25
49
81

Funciones integradas del diccionario

Funciones integradas como all() , any() , len() , cmp() , sorted() , etc. se usan comúnmente con diccionarios para realizar diferentes tareas.

Función Descripción
todos() Regresar True si todas las claves del diccionario son verdaderas (o si el diccionario está vacío).
cualquiera() Regresar True si alguna clave del diccionario es verdadera. Si el diccionario está vacío, devuelve False .
largo() Devuelve la longitud (el número de elementos) en el diccionario.
cmp() Compara elementos de dos diccionarios. (No disponible en Python 3)
ordenado() Retorna una nueva lista ordenada de claves en el diccionario.

Estos son algunos ejemplos que utilizan funciones integradas para trabajar con un diccionario.

# Dictionary Built-in Functions
squares = {0: 0, 1: 1, 3: 9, 5: 25, 7: 49, 9: 81}

# Output: False
print(all(squares))

# Output: True
print(any(squares))

# Output: 6
print(len(squares))

# Output: [0, 1, 3, 5, 7, 9]
print(sorted(squares))

Salida

False
True
6
[0, 1, 3, 5, 7, 9]

python

  1. Tipos de datos de Python
  2. Operadores de Python
  3. Declaración de paso de Python
  4. Argumentos de la función de Python
  5. Iteradores de Python
  6. Cierres Python
  7. Fecha y hora de Python
  8. Python - Descripción general
  9. Pitón - Números
  10. Python - Cadenas
  11. Python - Tuplas