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