CodeGym /Cursos /Python SELF ES /Trabajo con diccionario

Trabajo con diccionario

Python SELF ES
Nivel 11 , Lección 2
Disponible

2.1 Obtener la cantidad de elementos

En Python para obtener la cantidad de elementos en un diccionario se utiliza la función incorporada len(). Esta función devuelve la cantidad de pares clave-valor en el diccionario. O la cantidad de claves, si lo prefieres.

Ejemplo de uso de la función:


person = {"name": "Alice", "age": 25, "city": "New York"}
num_elements = len(person)
print(num_elements)  # Salida: 3 

En este ejemplo tenemos un diccionario person con tres elementos. La función len(person) devuelve la cantidad de elementos en el diccionario, que es 3.

Verificación de diccionario vacío

Puedes usar la función len() para verificar si un diccionario está vacío. Esto es útil en condiciones y bucles.


empty_dict = {}
print(len(empty_dict))  # Salida: 0

person = {"name": "Alice", "age": 25, "city": "New York"}

if len(person) > 0:
    print("El diccionario no está vacío")
else:
    print("El diccionario está vacío")

Diccionario con estructuras anidadas

La función len() cuenta solo la cantidad de claves de nivel superior, independientemente de lo que contenga como valores.


complex_dict = {
    name: "Alice",
    details: {
        age: 25,
        city: "New York"
    },
    hobbies: ["reading", "traveling"]
}
print(len(complex_dict))  # Salida: 3

En este ejemplo tenemos un diccionario con estructuras de datos anidadas. len(complex_dict) devuelve 3, ya que en el nivel superior hay tres claves: "name", "details" y "hobbies".

len() ignora las claves dentro de las estructuras de datos anidadas, tales como "age" y "city" dentro del diccionario "details", porque len() solo cuenta las claves de nivel superior. Si necesitas contar la cantidad de todos los elementos, incluyendo estructuras anidadas, necesitarás usar un método recursivo. Pero eso no es para hoy.

2.2 Determinación del tipo

La función type() en Python se utiliza para determinar el tipo de un objeto. Al trabajar con diccionarios type() permite determinar que un objeto es una instancia de la clase dict. Esto puede ser útil en varios escenarios, como verificar el tipo de datos antes de realizar operaciones sobre un diccionario.

Ejemplos de uso:

Verificación del tipo de objeto


person = {"name": "Alice", "age": 25, "city": "New York"}
print(type(person))  # Salida: <class 'dict'>

En este ejemplo creamos un diccionario person y utilizamos type para determinar su tipo. La función devuelve <class 'dict'>, indicando que person es un diccionario.

Verificación condicional del tipo de datos

La función type() puede ser utilizada para verificar el tipo de datos en expresiones condicionales, lo que permite ejecutar ciertas operaciones solo para objetos de tipo dict.


data = {"name": "Alice", "age": 25, "city": "New York"}

if type(data) is dict:
    print("Es un diccionario.")
else:
    print("No es un diccionario.")

En este ejemplo, la expresión condicional verifica si data es un diccionario, y ejecuta el código correspondiente.

La función type() puede ser utilizada dentro de funciones personalizadas para verificar el tipo de los argumentos, lo que permite garantizar que la función maneja el tipo de datos correcto.

Ejemplo:


def process_data(data):
    if type(data) is dict:
        print("Procesando diccionario...")
        # Ejecución de operaciones sobre el diccionario
    else:
        print("Error: se esperaba un diccionario.")

data = {"name": "Alice", "age": 25, "city": "New York"}
process_data(data)

En este ejemplo, la función process_data verifica si el argumento data es un diccionario y ejecuta las operaciones correspondientes solo para diccionarios.

2.3 Obtener un elemento

Trabajar con elementos del diccionario es como trabajar con una lista o tupla — también usaremos corchetes. Solo que en vez del índice del elemento, necesitas especificar la clave en los corchetes. La clave del diccionario puede ser cualquier elemento inmutable: cadena, número o, por ejemplo, tupla.


diccionario[clave]

Ejemplo:


person = {"name": "Alice", "age": 25, "city": "New York"}
name = person["name"]
print(name)  # Salida: Alice

Si la clave no está presente, surgirá un error:


person = {"name": "Alice", "age": 25, "city": "New York"}
person["country"]  # surgirá un error KeyError: 'country'

Método get(key, def_value)

El método get() permite obtener de manera segura un valor por clave. Si la clave no está presente, el método devuelve un valor por defecto (None, si no se especifica un valor por defecto). Esto previene que surja una excepción KeyError.


person = {"name": "Alice", "age": 25, "city": "New York"}
age = person.get("age")
print(age)  # Salida: 25

country = person.get("country", "USA")
print(country)  # Salida: USA

El segundo parámetro en el método get() puede recibir el valor que se debe devolver si la clave necesaria no está presente en el diccionario.

El método setdefault() funciona de manera similar al método get(), pero si la clave no está presente en el diccionario, el método no solo devuelve un valor por defecto, sino que agrega al diccionario un nuevo par clave: valor.


person = {"name": "Alice", "age": 25}
city = person.setdefault("city", "New York")
print(city)  # Salida: New York
print(person)  # Salida: {'name': 'Alice', 'age': 25, 'city': 'New York'}
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION