3.1 Visualización de elementos hijos
Como ya sabes, un diccionario almacena internamente pares de elementos
clave-valor. Tiene métodos que nos permiten acceder a
estos datos: keys()
, values()
y
items()
. A continuación, te contaré más sobre ellos.
¡Importante!
Estos métodos no devuelven simplemente listas
de elementos, sino lo que llamamos vistas (view)
. Las vistas de un diccionario
proporcionan una representación dinámica de las claves, valores y pares
clave-valor contenidos en el diccionario. Estas
vistas se actualizan automáticamente cuando el diccionario cambia.
Método keys()
El método keys()
devuelve una vista de todas las claves en el diccionario.
El resultado es un objeto dict_keys
, que soporta iteración y
otras operaciones similares a los conjuntos.
person = {"name": "Alice", "age": 25, "city": "New York"}
keys = person.keys()
print(keys) # dict_keys(['name', 'age', 'city'])
Iterar sobre las claves
for key in person.keys():
print(key)
# Salida:
# name
# age
# city
Método values()
El método values()
devuelve una vista de todos los valores en
el diccionario. El resultado es un objeto dict_values
, que
también soporta iteración.
person = {"name": "Alice", "age": 25, "city": "New York"}
values = person.values()
print(values) # dict_values(['Alice', 25, 'New York'])
Iterar sobre los valores
for value in person.values():
print(value)
# Salida:
# Alice
# 25
# New York
Método items()
El método items()
devuelve una vista de todos los pares clave-valor en
el diccionario. El resultado es un objeto dict_items
, que
soporta trabajo con ciclos.
person = {"name": "Alice", "age": 25, "city": "New York"}
items = person.items()
print(items) # dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
Iterar sobre los pares clave-valor
for key, value in person.items():
print(f"{key}: {value}")
# Salida:
# name: Alice
# age: 25
# city: New York
3.2 Actualización dinámica
Una de las propiedades importantes de las vistas de un diccionario es su actualización dinámica. Esto significa que, si el diccionario cambia, las vistas reflejan automáticamente esos cambios.
person = {"name": "Alice", "age": 25}
keys = person.keys()
print(keys) # dict_keys(['name', 'age'])
# Añadir un nuevo elemento
person["city"] = "New York"
print(keys) # dict_keys(['name', 'age', 'city'])
Convertir vistas en otras colecciones
Las vistas de un diccionario se pueden convertir en otras colecciones, como listas, conjuntos o tuplas, para realizar operaciones adicionales.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Convertir keys() en lista
keys_list = list(person.keys())
print(keys_list) # ['name', 'age', 'city']
# Convertir values() en conjunto
values_set = set(person.values())
print(values_set) # {'Alice', 25, 'New York'}
# Convertir items() en lista de tuplas
items_list = list(person.items())
print(items_list) # [('name', 'Alice'), ('age', 25), ('city', 'New York')]
GO TO FULL VERSION