Tableau à 2 dimensions

Un tableau à 2 dimensions est un tableau dont la position de chaque élément est donnée par un couple de 2 indices.

Tableau à une dimension :

Tableau à deux dimensions :

Vocabulaire et notation

Le vocabulaire utiliser pour évoquer un tableau à 2 dimensions, ses éléments et les indices pour les positionner peuvent varier selon le contexte du programme à réaliser :

Notation

En principe, pour des coordonnées, on utilisera la notation x et y pour positionner les éléments.

Mais on préférera parfois la notation l et c pour désigner la ligne et la colonne où se situe l’élément dans la tableau.

 

Tableaux en Python

En Python, les tableaux à deux dimensions sont représentés grâce à des objets appelés listes (type list). Une liste ressemble à un p-uplet : un ensemble ordonné d’éléments avec des indices pour les repérer.

Pour un tableau à deux dimensions, il faut employer une liste de listes :

T = [[45, 21, 56],
     [12,  1,  8],
     [30, 22,  6]]

Attention : pour qu’il s’agisse effectivement d’un tableau à 2 dimensions, il faut que toutes les listes « ligne » de la liste « tableau » aient la même longueur.

 

Accès aux éléments

On accède à une ligne du tableau grâce à son indice :

>>> T[1]
[12,  1,  8]

 

Et on accède à un élément par son indice dans la ligne sur laquelle il se trouve :

>>> T[1][2]
8

Il n’existe pas de méthode simple pour obtenir une colonne entière. Il faut écrire une fonction pour cela.

Activité
Écrire une fonction colonne qui prend en paramètres un tableau T et un numéro de colonne c et qui retourne une liste des éléments situés sur cette colonne du tableau.

Exemple avec le tableau défini plus haut :

>>> colonne(T, 2)
[56, 8, 6]
Correction
def colonne(T, c):
    col = []
    for lig in T:
        col.append(lig[c])
    return col

 

Parcours d’un tableau

La structure du tableau étant de la forme de listes (lignes) imbriquées dans une plus grande liste, la structure de algorithme du parcours complet du tableau aura la forme de deux boucles imbriquées.

  • pour chaque ligne du tableau
    • pour chaque élément de la ligne
      • faire …

Création d’un tableau

Écrire une fonction creer_tableau qui prend en paramètres les dimensions nl et nc, deux entiers désignant les nombres de lignes et de colonnes que doit avoir le tableau, ainsi que l’élément v (de type quelconque) que doivent contenir chacune de ses cellules. La fonction renvoie le tableau tel que défini plus haut (comme une liste de listes).
Correction
def creer_tableau(nl, nc, v = 0):
    tab = []
    for l in range(nl):
        lig = []
        for c in range(nc):
            lig.append(v)
        tab.append(lig)
    return tab

 

Affichage du contenu d’un tableau

Si le contenu des cellules du tableau ne sont pas de trop grande taille ni trop nombreuses, il peut être utile de disposer d’un affichage plus visuel que ce que propose Python pour afficher des listes.

Écrire une fonction afficher_tableau qui prend en paramètre un tableau T tel que défini plus haut (comme une liste de listes) et qui renvoie et affiche une chaîne de caractères. On supposera que les cellules du tableau sont affichables avec un unique caractère.
Correction
def afficher_tableau(T):
    t = ""
    for lig in T:
        for c in lig:
            t += str(c)
        t += "\n"
    print(t)
    return t

 

Vous aimerez aussi...

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *