📘 Présentation du TD4⚓︎
L'objectif de ce TD est de travailler sur les dictionnaires (dict
).
Ce qu'il faut savoir sur les dictionnaires :⚓︎
Les dictionnaires
Un dictionaire est une liste de couples (clef, valeur). On utilise des accolades {}
pour le définir. Les couples sont séparés par des ;
, et il y a un :
entre une clef et sa valeur associée.
Un dictionnaire correspond à une fonction en mathématiques. Les clefs sont les antécédents, et les valeurs sont les images. Une clef ne peut donc pas être présente plus d'une fois, mais une valeur peut être la même pour plusieurs clefs différentes.
- Les clefs peuvent être de n'importe quel type, tant qu'il n'est pas mutable. On utilisera principalement des
str
et desint
. Unelist
ne peut pas être utilsée comme clef. - Les valeurs peuvent être de n'importe quel type.
mondico={'blue':'bleu','green':'vert','red':'rouge','rot':'rouge', 'rojo':'rouge', 1:'un', 2:'deux'}
print(f'mondico contient {mondico}')
print(f'mondico contient {len(mondico)} couples')
print(f'mondico est du type {type(mondico)}')
On peut savoir si une clef est présente ou non dans un dictionnaire :
print('red' in mondico) # True : clé "rouge" présente
print('rouge' in mondico) # False : cette clé n'existe pas
On accède à une "valeur" du dictionnaire en utilisant la "clé"
print(mondico['blue'])
print(mondico['purple']) # retourne une erreur
Avant d'accéder à une valeur, on teste donc toujours si la clef est présente dans le dictionnaire :
if 'blue' in mondico:
print(f"blue est une clef valide et la valeur associée est {mondico['blue']}")
else:
print("blue n'est pas une clef valide")
if 'purple' in mondico:
print(f"purple est une clef valide et la valeur associée est {mondico['purple']}")
else:
print("purple n'est pas une clef valide")
On peut ajouter ou modifier un couple dans un dictionnaire. Attention, on ne peut pas modifier une clef !
mondico[3] = 'three' # On ajoute un couple
print(f'mondico contient maintenant {mondico}')
mondico['purple'] = 'orange' # On ajoute un couple
print(f'mondico contient maintenant {mondico}')
mondico['purple'] = 'violet' # On modifie la valeur d'une clef existante
print(f'mondico contient maintenant {mondico}')
On peut supprimer un couple d'un dictionnaire
valeur = mondico.pop('rojo') # supprime un élément à partir de sa clé
print(f'mondico contient maintenant {mondico}')
print(f'La valeur supprimée était {valeur}') # permet aussi de récupérer la valeur de cet élément
Enfin, un dict
est un objet itérable. On peut donc le parcourir avec une boucle for
, soit pour accéder aux valeurs, soit pour les modifier.
# Itérer sur les clés
for key in mondico:
print(f'La clef courante est {key}')
print(f'La valeur correspondant à la clef {key} est {mondico[key]}') # permet de récupérer toutes les valeurs
# Modification d'une valeur
for key in mondico:
mondico[key] = mondico[key] + " (en français)"
print(f'mondico contient maintenant {mondico}')