Les tableaux associatifs
Principe
Plutôt que d'indexer les valeurs, il est possible d'associer des valeurs à d'autres valeurs, en utilisant un tableau associatif. Par exemple, nous pourrions vouloir associer quelques pays à leur capitale.
Méthode 1 : créer deux tableaux indexés
Tableau pays | |||||
Indice | 0 | 1 | 2 | 3 | 4 |
Valeur | "Australie" | "Brésil" | "Kenya" | "Canada" | "Malte" |
Tableau capitales | |||||
Indice | 0 | 1 | 2 | 3 | 4 |
Valeur | "Canberra" | "Brasilia" | "Nairobi" | "Ottawa" | "La Valette" |
Ainsi, si je veux la capitale du Canada, je regarde l'indice de la chaîne "Canada" dans le tableau pays, ici 3, puis je lis la valeur de capitales[3].
Méthode 2 : créer un tableau associatif
Tableau capitales | |||||
Pays | "Australie" | "Brésil" | "Kenya" | "Canada" | "Malte" |
Capitale | "Canberra" | "Brasilia" | "Nairobi" | "Ottawa" | "La Valette" |
ce qui me permet directement de trouver la capitale d'un pays donné.
Les tableaux associatifs dans différents langages
Voyons quelques exemples de définition de notre tableau des capitales (nous n'en gardons que trois), comment afficher une valeur et la façon de le parcourir et d'afficher les pays et leur capitale.
// création d'un tableau associatif
let capitales={
'Australie' : 'Canberra',
'Brésil' : 'Brasilia',
'Kenya' : 'Nairobi'
};
// affichage d'une valeur
alert("La capitale du Brésil est " + capitales['Brésil']); // affichera : Brasilia
// parcours du tableau et création d'une chaîne
let chn = '';
for(let pays in capitales)
{
let capitale = capitales[pays];
chn = chn + pays + ' a pour capitale ' + capitale + "\n";
}
alert(chn);
$capitales = array('Australie' => 'Canberra', 'Brésil' => 'Brasilia', 'Kenya' => 'Nairobi');
print $capitales['Brésil']; // affichera : Brasilia
// parcours du tableau en boucle
foreach($capitales as $pays=>$capitale)
print "La capitale de ". $pays." est ".$capitale.".";
capitales={
'Australie' : 'Canberra',
'Brésil' : 'Brasilia',
'Kenya' : 'Nairobi'
}
print('Capitale du Brésil :', capitales['Brésil']) # affichera : Capitale du Brésil : Brasilia
for pays in capitales: # ou "for pays in capitales.keys()"
print(pays) # affiche tous les pays
for pays, capit in capitales.items():
print("La capitale de", pays, "est", capit)
Ici, la commande type(capitales)
renverrai dict
: les tableaux associatifs en Python sont représentés grâce au type de données dict
(pour dictionnaire).
Notez bien ici que ce sont des accolades qui sont utilisées pour définir des dictionnaires, pas des crochets mais qu'il faut utiliser des crochets pour accèder à un élément...
Passez maintenant à ce notebook sur les dictionnaires en Python qui fera aussi office de cours.