3.1 Affichage des éléments enfants
Comme tu le sais déjà, un dictionnaire stocke en interne des paires clé-valeur. Il a des méthodes qui nous permettent d'accéder à ces données : keys(), values() et items(). Je vais détailler tout ça ci-dessous.
Important ! Ces méthodes ne renvoient pas simplement des listes d'éléments, mais ce qu'on appelle des vues (view). Les vues de dictionnaire offrent une représentation dynamique des clés, valeurs, et paires clé-valeur contenues dans le dictionnaire. Ces vues se mettent à jour automatiquement lorsque le dictionnaire change.
Méthode keys()
La méthode keys() renvoie une vue de toutes les clés dans le dictionnaire. Le résultat est un objet dict_keys, qui supporte l'itération et d'autres opérations similaires à celles des sets.
person = {"name": "Alice", "age": 25, "city": "New York"}
keys = person.keys()
print(keys) # dict_keys(['name', 'age', 'city'])
Itération sur les clés
for key in person.keys():
print(key)
# Sortie : # name # age # city
Méthode values()
La méthode values() renvoie une vue de toutes les valeurs dans le dictionnaire. Le résultat est un objet dict_values, qui supporte également la boucle.
person = {"name": "Alice", "age": 25, "city": "New York"}
values = person.values()
print(values) # dict_values(['Alice', 25, 'New York'])
Itération sur les valeurs
for value in person.values():
print(value)
# Sortie : # Alice # 25 # New York
Méthode items()
La méthode items() renvoie une vue de toutes les paires clé-valeur dans le dictionnaire. Le résultat est un objet dict_items, qui supporte les boucles.
person = {"name": "Alice", "age": 25, "city": "New York"}
items = person.items()
print(items) # dict_items([('name', 'Alice'), ('age', 25), ('city', 'New York')])
Itération sur les paires clé-valeur
for key, value in person.items():
print(f"{key}: {value}")
# Sortie : # name: Alice # age: 25 # city: New York
3.2 Mise à jour dynamique
Une des propriétés importantes des vues de dictionnaire est leur mise à jour dynamique. Cela signifie que si le dictionnaire change, les vues reflètent automatiquement ces changements.
person = {"name": "Alice", "age": 25}
keys = person.keys()
print(keys) # dict_keys(['name', 'age'])
# Ajouter un nouvel élément
person["city"] = "New York"
print(keys) # dict_keys(['name', 'age', 'city'])
Conversion des vues en autres collections
Les vues de dictionnaire peuvent être converties en d'autres collections, comme des listes, sets ou tuples, pour effectuer des opérations supplémentaires.
person = {"name": "Alice", "age": 25, "city": "New York"}
# Conversion de keys() en liste
keys_list = list(person.keys())
print(keys_list) # ['name', 'age', 'city']
# Conversion de values() en set
values_set = set(person.values())
print(values_set) # {'Alice', 25, 'New York'}
# Conversion de items() en liste de tuples
items_list = list(person.items())
print(items_list) # [('name', 'Alice'), ('age', 25), ('city', 'New York')]
GO TO FULL VERSION