Tableaux bidimensionnels
Tableaux bidimensionnels
Définition
Dans ce qui suit, la commande >>
indique une sortie logiciel, c’est à dire ce que le logiciel retourne.
a) En mathématiques, un tableau bidimensionnel est appelé matrice.
Une matrice est donc un tableau contenant $i$ lignes et $j$ colonnes.
Exemple :
b) En python, on définit une matrice à l’aide d’une liste de listes. Chaque sous liste contient les éléments constituant une ligne.
Exemple :
M = [[1, 2, 3], [4, 5, 6]]
Pour rappel, la commande print()
permet d’afficher l’élément situé entre parenthèse.
1) Le premier élément de la liste M est la sous-liste contenant la première ligne de la matrice.
print(M[0])
>>[1, 2, 3]
2) Pour accéder aux éléments de la matrice, on utilise les coordonnées des éléments.
L’élément $M[i][j]$ correspond à l’élément situé à l’intersection de la $i + 1$ ème ligne et la $j + 1$ ème colonne.
print(M[1][1])
(on demande au logiciel d’afficher l’élément situé à l’intersection de la deuxième ligne et de la deuxième colonne)
>> 5
3) Les éléments du tableau peuvent être modifiés.
M[0][2] = 7
(l’élément situé à l’intersection de la première ligne et la troisième colonne prend la valeur 7)
print(M[0])
(on demande à l’ordinateur d’afficher la première ligne)
>> [1, 2, 7]
4) A l’aide d’une boucle for
, il est possible d’afficher toutes les lignes de la matrice.
for i in range(2) :
print(M[i])
print()
(on force le passage à la ligne)
>> [1, 2, 7]
>> [4, 5, 6]
5) La méthode la plus simple pour remplir rapidement une matrice est la suivante :
On commence par créer une liste contenant autant de 0 que de lignes souhaitées.
On modifie ensuite à l’aide d’une boucle for chaque élément en créant une nouvelle liste contenant autant de 0 que de colonnes souhaitées.
A = [0] * 3
(on souhaite créer une matrice contenant 3 lignes)
print(A)
>>[0, 0, 0]
for i in range(3):
(on parcourt chaque élément de la liste A à l’aide de leur indice)
A[i] = [0]*3
(la matrice aura donc 3 colonnes)
On peut alors afficher toutes les lignes de la matrice comme fait précédemment.
for i in range(3):
print(A[i])
print()
>> [0, 0, 0]
>> [0, 0, 0]
>> [0, 0, 0]
6) La commande input()
permet à l’utilisateur de rentrer une valeur.
On peut, à partir du programme suivant, demander à l’utilisateur de remplir la matrice A définie précédemment.
for i in range(3):
(on parcourt chaque ligne)
for j in range(3):
(pour chaque ligne, on parcourt chaque élément de la sous liste)
M[i][j] = int(input())
(la commande int()
transforme le nombre en entier)
7) Enfin, le programme suivant permet de calculer la somme des éléments d’une matrice M ayant été créée au préalable, sans que l’on ne connaisse ses dimensions.
Pour rappel, la commande len(L)
permet d’accéder à la taille de la liste L.
s = 0
(s contiendra la somme des éléments)
for i in range(len(M))
: (len(M)
renvoie le nombre d’éléments contenus dans la liste M, c’est à dire le nombre de lignes de la matrice)
for j in range(len(M[i]):
(len(M[i]
renvoie la taille de la i+1 ème sous-liste de M, et donc le nombre de colonnes)
s = s + M[i][j]
print(s)