Tableaux multidimensionnels

Objectifs

  • Savoir créer et utiliser un tableau à deux dimensions ;

  • Savoir parcourir un tableau à deux dimensions.

Mise en situation

Un tableau classique contient une seule ligne de plusieurs colonnes : il peut être assimilé à une liste. Or un tableau peut contenir des variables, mais aussi d'autres tableaux. Dans ce cas on parle de tableau multidimensionnel, ayant plusieurs lignes et plusieurs colonnes. Le plus courant est le tableau à 2 dimensions, qui permet de très bien représenter les tableaux que l'on manipule dans le monde physique. Par exemple la grille de pixels d'un écran est un tableau à 2 dimensions.

Nous allons voir qu'ils sont assez simple à utiliser, bien qu'ils nécessitent un usage vigilant de boucles imbriquées pour être parcourus.

SyntaxeTableau 2D

Un tableau multidimensionnel est un tableau qui contient lui même des tableaux. Un tableau en 2 dimensions est donc un tableau dont les éléments sont eux-même des tableaux de valeurs.

En Python et en JavaScript, on ajoute une deuxième dimension en utilisant la même notation entre crochets à l'intérieur d'un tableau : tableau = [[a1, a2], [b1, b2], [c1, c2]].

Tableau à 2 dimensionsInformations[1]

Exemple

Une classe est divisée en 4 groupes de 3 étudiants chacun.

1
"""Python: tableau de 4 groupes de 3 élèves."""
2
groups = [
3
  ['Manon', 'Lou', 'Alexandre'],
4
  ['Lucas', 'Antonin', 'Ayman'],
5
  ['Elliot', 'Kylian', 'Alix'],
6
  ['Cassandre', 'Tom', 'Erika']
7
]
1
/** JavaScript: tableau de 4 groupes de 3 élèves */
2
const groups = [
3
  ['Manon', 'Lou', 'Alexandre'],
4
  ['Lucas', 'Antonin', 'Ayman'],
5
  ['Elliot', 'Kylian', 'Alix'],
6
  ['Cassandre', 'Tom', 'Erika']
7
]

Parcours d'un tableau à deux dimensions

En deux dimensions, un tableau doit être parcouru doublement : on utilise donc une boucle imbriquée, utilisant deux compteurs différents, un premier pour le parcours en longueur (ensemble des lignes), un deuxième pour le parcours en profondeur (éléments d'une ligne).

SyntaxeLecture d'un élément dans un tableau à deux dimensions

Pour lire un tableau bi-dimensionnel, on doit utiliser deux index : l'index de la colonne et l'index de la ligne. Le premier index permet de récupérer un tableau correspondant à la ligne, et le deuxième index accède enfin à l'élément.

On utilise donc deux paires de crochets successives : tableau[i][j] avec « i » l'index de la ligne et « j » l'index de la colonne.

Exemple

Le programme parcours un à un chaque groupe et affiche ses éléments.

1
"""Python: tableau 2 dimensions de taille 4."""
2
groups = [
3
  ['Manon', 'Lou', 'Alexandre'],
4
  ['Lucas', 'Antonin', 'Ayman'],
5
  ['Elliot', 'Kylian', 'Alix'],
6
  ['Cassandre', 'Tom', 'Erika']
7
]
8
9
for i in range(len(groups)):
10
  print('\nGroupe', i)
11
  for j in range(len(groups[i])):
12
    print(groups[i][j])
1
/** JavaScript: tableau 2 dimensions de taille 4 */
2
const groups = [
3
  ['Manon', 'Lou', 'Alexandre'],
4
  ['Lucas', 'Antonin', 'Ayman'],
5
  ['Elliot', 'Kylian', 'Alix'],
6
  ['Cassandre', 'Tom', 'Erika']
7
]
8
9
for (let i = 0; i < groups.length; i++) {
10
  console.log('\nGroupe', i)
11
  for (let j = 0; j < groups[i].length; j++) {
12
    console.log(groups[i][j])
13
  }
14
}

ComplémentNombre de dimensions

On peut créer des tableaux de plus de 2 dimensions : 3 dimensions si un tableau contient des tableaux qui eux-même contiennent des tableaux de valeurs, 4 dimensions si un tableau contient des tableaux qui eux-même contiennent des tableaux qui contiennent des tableaux de valeurs, etc.

Tableau à 3 dimensionsInformations[2]

À retenir

Les tableaux multidimensionnels permettent de stocker d'autres tableaux au lieu de simples valeurs.

Stéphane Crozat, Jinane Ben Salem Paternité - Partage des Conditions Initiales à l'Identique