CodeGym /Curso de Java /Python SELF ES /Vistas de diccionarios

Vistas de diccionarios

Python SELF ES
Nivel 11 , Lección 3
Disponible

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')]
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION