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'}
GO TO FULL VERSION