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

Fundamentos de diccionarios en Python: Claves, valores y acceso

Cada clave se separa de su valor por dos puntos (:), los elementos se separan por comas, y todo se encierra entre llaves. Un diccionario vacío se escribe con solo dos llaves: {}.

Las claves son únicas dentro de un diccionario mientras que los valores pueden no serlo. Los valores pueden ser de cualquier tipo, pero las claves deben ser de tipo inmutable: cadenas, números o tuplas.

Acceso a valores en diccionario

Para acceder a elementos, usa corchetes con la clave. Ejemplo:

Demo en vivo
#!/usr/bin/python
dic = {'Nombre': 'Zara', 'Edad': 7, 'Clase': 'Primero'}
print "dic['Nombre']: ", dic['Nombre']
print "dic['Edad']: ", dic['Edad']

Resultado:

dic['Nombre']: Zara
dic['Edad']: 7

Si intentamos acceder con clave inexistente, obtenemos error:

Demo en vivo
#!/usr/bin/python
dic = {'Nombre': 'Zara', 'Edad': 7, 'Clase': 'Primero'}
print "dic['Alicia']: ", dic['Alicia']

Resultado:

dic['Alicia']:
Traceback (most recent call last):
File "test.py", line 4, in 
print "dic['Alicia']: ", dic['Alicia']
KeyError: 'Alicia'

Actualización de diccionario

Puedes actualizar agregando nueva entrada, modificando existente o eliminando. Ejemplo:

Demo en vivo
#!/usr/bin/python
dic = {'Nombre': 'Zara', 'Edad': 7, 'Clase': 'Primero'}
dic['Edad'] = 8          # Actualizar entrada existente
dic['Escuela'] = "Escuela DPS"  # Agregar nueva entrada
print "dic['Edad']: ", dic['Edad']
print "dic['Escuela']: ", dic['Escuela']

Resultado:

dic['Edad']: 8
dic['Escuela']: Escuela DPS

Eliminar elementos de diccionario

Puedes eliminar elementos individuales, limpiar todo el diccionario o eliminarlo completamente.

Para eliminar diccionario completo, usa del. Ejemplo:

Demo en vivo
#!/usr/bin/python
dic = {'Nombre': 'Zara', 'Edad': 7, 'Clase': 'Primero'}
del dic['Nombre']    # Eliminar entrada con clave 'Nombre'
dic.clear()          # Eliminar todas las entradas
del dic              # Eliminar diccionario completo
print "dic['Edad']: ", dic['Edad']
print "dic['Escuela']: ", dic['Escuela']

Resultado (excepción porque dic ya no existe):

dic['Edad']:
Traceback (most recent call last):
File "test.py", line 8, in 
print "dic['Edad']: ", dic['Edad']
TypeError: 'type' object is unsubscriptable

Nota - del() se discute en sección siguiente.

Propiedades de las claves de diccionario

Los valores no tienen restricciones. Pueden ser cualquier objeto Python. Pero no es igual para las claves.

Dos puntos importantes sobre claves:

(a) No más de una entrada por clave. No se permiten claves duplicadas. Si hay duplicados, la última asignación gana. Ejemplo:

Demo en vivo
#!/usr/bin/python
dic = {'Nombre': 'Zara', 'Edad': 7, 'Nombre': 'Manni'}
print "dic['Nombre']: ", dic['Nombre']

Resultado:

dic['Nombre']: Manni

(b) Las claves deben ser inmutables. Puedes usar cadenas, números o tuplas como claves, pero no listas. Ejemplo:

Demo en vivo
#!/usr/bin/python
dic = {['Nombre']: 'Zara', 'Edad': 7}
print "dic['Nombre']: ", dic['Nombre']

Resultado:

Traceback (most recent call last):
File "test.py", line 3, in 
dic = {['Nombre']: 'Zara', 'Edad': 7}
TypeError: unhashable type: 'list'

Funciones y métodos integrados de diccionario

Python incluye las siguientes funciones de diccionario:

NºFunción con descripción
1cmp(dict1, dict2) - Compara elementos de ambos diccionarios.
2len(dict) - Longitud total (número de elementos).
3str(dict) - Representación string imprimible.
4type(variable) - Tipo de variable. Si es diccionario, devuelve tipo diccionario.

Python incluye los siguientes métodos de diccionario:

NºMétodos con descripción
1dict.clear() - Elimina todos los elementos.
2dict.copy() - Copia superficial del diccionario.
3dict.fromkeys() - Crea nuevo diccionario con claves de seq y valores establecidos a value.
4dict.get(clave, default=None) - Devuelve valor o default si clave no existe.
5dict.has_key(clave) - True si clave en diccionario, False en caso contrario.
6dict.items() - Lista de tuplas (clave, valor).
7dict.keys() - Lista de claves.
8dict.setdefault(clave, default=None) - Como get(), pero establece dict[clave]=default si clave no existe.
9dict.update(dict2) - Agrega pares clave-valor de dict2.
10dict.values() - Lista de valores.

python

  1. Dominando tipos de datos en Python: Guía práctica
  2. Dominando operadores en Python: Guía completa
  3. Dominando la sentencia pass en Python: Guía práctica
  4. Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
  5. Dominando Diccionarios en Python: Creación, Manipulación y Técnicas Avanzadas
  6. Dominando Iteradores en Python: Cómo Funcionan y Cómo Crear los Tuyos
  7. Explicación de Closures en Python: Cómo las Funciones Anidadas Capturan Variables
  8. Dominando datetime en Python: Guía Práctica de Fechas, Horas y Zonas Horarias
  9. Visión general de Python: Lenguaje de alto nivel, legible, interactivo y orientado a objetos
  10. Números en Python: Entendiendo tipos de datos numéricos inmutables
  11. Dominando cadenas en Python: Creación, acceso y manipulación