Aller au contenu

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.

Retour en haut de la page