3.1 Visualização de elementos filhos
Como você já sabe, um dicionário armazena internamente pares de elementos chave-valor. Ele possui métodos que nos permitem acessar esses dados: keys(), values() e items(). Abaixo, vou falar mais sobre eles.
Importante! Esses métodos não retornam apenas listas de elementos, mas o que chamamos de visualizações (view). As visualizações do dicionário fornecem uma representação dinâmica das chaves, valores e pares chave-valor contidos no dicionário. Essas visualizações são atualizadas automaticamente quando o dicionário é alterado.
Método keys()
O método keys() retorna uma visualização de todas as chaves no dicionário. O resultado é um objeto dict_keys, que suporta iteração e outras operações semelhantes aos conjuntos.
person = {"name": "Alice", "age": 25, "city": "New York"}
keys = person.keys()
print(keys) # dict_keys(['name', 'age', 'city'])
Iteração sobre chaves
for key in person.keys():
print(key)
# Saída: # name # age # city
Método values()
O método values() retorna uma visualização de todos os valores no dicionário. O resultado é um objeto dict_values, que também suporta iteração.
person = {"name": "Alice", "age": 25, "city": "New York"}
values = person.values()
print(values) # dict_values(['Alice', 25, 'New York'])
Iteração sobre valores
for value in person.values():
print(value)
# Saída: # Alice # 25 # New York
Método items()
O método items() retorna uma visualização de todos os pares chave-valor no dicionário. O resultado é um objeto dict_items, que suporta trabalho com loops.
person = {"name": "Alice", "age": 25, "city": "New York"}
items = person.items()
print(items) # dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
Iteração sobre pares chave-valor
for key, value in person.items():
print(f"{key}: {value}")
# Saída: # name: Alice # age: 25 # city: New York
3.2 Atualização dinâmica
Uma das propriedades importantes das visualizações do dicionário é sua atualização dinâmica. Isso significa que, se o dicionário for alterado, as visualizações refletem automaticamente essas mudanças.
person = {"name": "Alice", "age": 25}
keys = person.keys()
print(keys) # dict_keys(['name', 'age'])
# Adicionando novo elemento
person["city"] = "New York"
print(keys) # dict_keys(['name', 'age', 'city'])
Convertendo visualizações para outras coleções
As visualizações do dicionário podem ser convertidas em outras coleções, como listas, conjuntos ou tuplas, para realizar operações adicionais.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Convertendo keys() para lista
keys_list = list(person.keys())
print(keys_list) # ['name', 'age', 'city']
# Convertendo values() para conjunto
values_set = set(person.values())
print(values_set) # {'Alice', 25, 'New York'}
# Convertendo items() para lista de tuplas
items_list = list(person.items())
print(items_list) # [('name', 'Alice'), ('age', 25), ('city', 'New York')]
GO TO FULL VERSION