« Programmation Python/Dictionnaires » : différence entre les versions

Contenu supprimé Contenu ajouté
Aucun résumé des modifications
Ligne 2 :
 
== Déclarations ==
LesLe dictionnairesdictionnaire queou nous{{w|tableau découvronsassociatif}} icin'est constituentpas une séquence mais un autre type composite. Ils ressemblent aux listes dans une certaine mesure (ils sont modifiables comme elles), mais ce ne sont pas des séquences. Lesles éléments que nous allons y enregistrer ne seront pas disposés dans un ordre immuable. En revanche, nous pourrons accéder à n'importe lequel d'entre eux à l'aide d'un index spécifique que l'on appellera une clé, laquelle pourra être alphabétique, numérique, ou même d'un type composite sous certaines conditions.
Le dictionnaire ou tableau associatif fonctionne dans la même logique.
 
{{remarque|Comme dans une liste, les éléments mémorisés dans un dictionnaire peuvent être de n'importe quel type (valeurs numériques, chaînes, listes, etc.).}}
Ajout d'une occurrence à la pile
 
== Création d'un dictionnaire ==
 
Ajout d'une occurrence à la pile :
<source lang=python>
>>> tel = {'jack': 4098, 'sape': 4139}
Ligne 12 ⟶ 16 :
</source>
 
Sortie d'un élément de la pile :
<source lang=python>
>>> tel['jack']
Ligne 33 ⟶ 37 :
1
</source>
 
== Compléments ==
 
Les types composites que nous avons abordés jusqu'à présent (chaînes, listes et tuples) étaient tous des séquences, c'est-à-dire des suites ordonnées d'éléments. Dans une séquence, il est facile d'accéder à un élément quelconque à l'aide d'un index (un nombre entier), mais à la condition expresse de connaître son emplacement.
 
Les dictionnaires que nous découvrons ici constituent un autre type composite. Ils ressemblent aux listes dans une certaine mesure (ils sont modifiables comme elles), mais ce ne sont pas des séquences. Les éléments que nous allons y enregistrer ne seront pas disposés dans un ordre immuable. En revanche, nous pourrons accéder à n'importe lequel d'entre eux à l'aide d'un index spécifique que l'on appellera une clé, laquelle pourra être alphabétique, numérique, ou même d'un type composite sous certaines conditions.
 
{{remarque|Comme dans une liste, les éléments mémorisés dans un dictionnaire peuvent être de n'importe quel type (valeurs numériques, chaînes, listes, etc.}}
 
== 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 128 ⟶ 122 :
La méthode <code>copy()</code> permet d'effectuer une vraie copie d'un dictionnaire. Il faut savoir en effet que la simple affectation d'un dictionnaire existant à une nouvelle variable crée seulement une nouvelle référence vers le même objet, et non un nouvel objet (''aliasing''). Par exemple, l'instruction ci-dessous ne définit pas un nouveau dictionnaire (contrairement aux apparences) :
 
<source lang=python>
<pre>
>>> stock = invent
>>> print stock
{'oranges': 274, 'bananes': 312, 'poires': 137}
</pre>
 
Si nous modifions invent, alors <code>stock</code> aussi est modifié, et vice-versa (ces deux noms désignent en effet le même objet dictionnaire dans la mémoire de l'ordinateur) :
 
<pre>
>>> del invent['bananes']
>>> print stock
{'oranges': 274, 'poires': 137}
</presource>
 
Si nous modifions "invent", alors <code>stock</code> aussi est modifié, et vice-versa (ces deux noms désignent en effet le même objet dictionnaire dans la mémoire de l'ordinateur) :.
 
Pour obtenir une vraie copie (indépendante) d'un dictionnaire préexistant, il faut employer la méthode <code>copy()</code> :
<source lang=python>
 
<pre>
>>> magasin = stock.copy()
>>> magasin['prunes'] = 561
Ligne 153 ⟶ 144 :
>>> print invent
{'oranges': 274, 'poires': 137}
</presource>
 
== Parcours d'un dictionnaire ==