« Programmation Python/Dictionnaires » : différence entre les versions
Contenu supprimé Contenu ajouté
→Les dictionnaires sont des objets : + .update() |
Pas besoin du mot "def" pour comprendre les dictionnaires |
||
Ligne 7 :
== Création d'un dictionnaire ==
A titre d'exemple, nous allons créer un dictionnaire de langue, pour la traduction de termes informatiques anglais en français. Dans ce dictionnaire, les index seront des chaînes de caractères.
Ligne 60 ⟶ 29 :
</pre>
Contrairement à ce qui se passe avec les listes, il n'est pas nécessaire de faire appel à une méthode particulière
== Opérations sur les dictionnaires ==
▲Vous savez déjà comment ajouter des éléments à un dictionnaire. Pour en enlever, vous utiliserez l'instruction <code>del</code>. Créons pour l'exemple un autre dictionnaire, destiné cette fois à contenir l'inventaire d'un stock de fruits. Les index (ou clés) seront les noms des fruits, et les valeurs seront les masses de ces fruits répertoriées dans le stock (il s'agit donc cette fois de valeurs de type numérique).
<pre>
Ligne 81 ⟶ 49 :
La fonction <code>len()</code> est utilisable avec un dictionnaire : elle en renvoie le nombre d'éléments.
== Les dictionnaires sont des objets ==
Ligne 289 ⟶ 257 :
Dans le dictionnaire, le nom de l'élève servira de clé d'accès, et les valeurs seront constituées de tuples (âge, taille), dans lesquels l'âge sera exprimé en années (donnée de type entier), et la taille en mètres (donnée de type réel).
La fonction de consultation comportera elle aussi une boucle, dans laquelle l'utilisateur pourra fournir un nom quelconque pour obtenir en retour le couple « âge, taille » correspondant. Le résultat de la requête devra être une ligne de texte bien formatée, telle par exemple : « Nom : Jean Dhoute - âge : 15 ans - taille : 1.74 m »
<li>Écrivez une fonction qui échange les clés et les valeurs d'un dictionnaire (ce qui permettra par exemple de transformer un dictionnaire anglais/français en un dictionnaire français/anglais).
Ligne 299 ⟶ 267 :
<li>
<source lang=python>
#!/usr/bin/env python
#Création et consultation d'un dictionnaire▼
# coding: utf-8
nom = raw_input("Entrez le nom (ou <enter> pour terminer) : ")▼
if nom == "":▼
if dico.has_key(nom): # le nom est-il répertorié ?▼
item = dico[nom] # consultaion proprement dite▼
age, taille = item[0], item[1]▼
print "Nom : %s - âge : %s ans - taille : %s m."\▼
% (nom, age, taille) ▼
print "*** nom inconnu ! ***"▼
nom = raw_input("Entrez le nom (ou <enter> pour terminer) : ")▼
if nom == "":▼
age = int(raw_input("Entrez l'âge (nombre entier !) : "))▼
taille = float(raw_input("Entrez la taille (en mètres) : "))▼
dico[nom] = (age, taille)▼
dico ={}
while 1:
Ligne 327 ⟶ 276 :
if choix.upper() == 'T':
break
elif choix.upper() == 'R':
break
elif choix.upper() == 'C':
# Consultation
break
else:
</source>
</li>
|