Utiliser des tableaux et des matrices

icône de pdf
Signaler
Cette leçon t’explique comment utiliser les tableaux et matrices en Python pour organiser et traiter des données. Tu apprendras à accéder aux éléments avec des indices, à créer des tableaux avec des compréhensions, à manipuler des matrices grâce à une double indexation et à respecter les bonnes pratiques imposées par le programme. Mots-clés : Python, tableau, matrice, liste, indices, NSI.

Introduction

Les programmes informatiques traitent souvent des ensembles de données organisées, comme des séries de mesures, des images ou des grilles. Pour manipuler efficacement ces données, on utilise des structures appelées tableaux et matrices. Ces structures permettent de stocker des valeurs de même type dans un ordre précis, et d'y accéder rapidement grâce à des indices. En Python, les tableaux sont représentés par des listes, tandis que les matrices sont modélisées par des tableaux de tableaux. Leur usage est essentiel pour organiser l'information, effectuer des calculs ou modéliser des problèmes.

Lire, modifier et parcourir un tableau

Un tableau est une suite ordonnée d’éléments de même type. En Python, on utilise une liste pour cela.

Exemple :

notes = [14, 16, 12, 9, 15]

Chaque élément du tableau est accessible à l’aide d’un indice, qui commence à 0 :

print(notes[2])     # Affiche 12
notes[2] = 13       # Remplace 12 par 13

Il est aussi possible de parcourir un tableau avec une boucle :

for note in notes:
    print(note)

Ou en utilisant les indices explicitement :

for i in range(len(notes)):
    print("Note", i, ":", notes[i])

Il est important de s’assurer que l’indice utilisé est valide, sous peine d’erreur :

# notes[5] générerait une erreur car le tableau a seulement 5 éléments (indices de 0 à 4)

Le programme de NSI exige que les éléments d’un tableau soient du même type. Les cas de tableaux vides doivent également être envisagés : un tableau vide se note [], mais tenter d’accéder à un élément provoque une erreur.

À retenir

Un tableau contient des éléments de même type, accessibles par un indice. On peut lire, modifier ou parcourir ses éléments, à condition de respecter les bornes du tableau.

Créer des tableaux avec des compréhensions

La compréhension de liste est une façon concise et expressive de générer un tableau à partir d'une règle.

Exemple : construire un tableau avec les carrés des entiers de 0 à 9 :

carres = [x**2 for x in range(10)]

Filtrer les éléments pour ne conserver que les nombres pairs :

pairs = [x for x in range(20) if x % 2 == 0]

Cette syntaxe est souvent plus lisible que les boucles classiques. Elle permet de générer des tableaux rapidement, selon des conditions ou des formules. Cette technique est au programme et doit être maîtrisée.

À retenir

Les compréhensions permettent de créer des tableaux en une ligne à partir d’une règle de transformation ou de filtrage. Elles simplifient l’écriture du code et évitent les boucles répétitives.

Représenter une matrice avec des tableaux de tableaux

Une matrice est un tableau à deux dimensions. En Python, on la modélise par un tableau contenant d'autres tableaux.

Exemple :

matrice = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

Pour accéder à l’élément de la 2ᵉ ligne, 3ᵉ colonne :

print(matrice[1][2])  # Affiche 6

Cette double indexation a[i][j] est exigée par le programme. Le premier indice désigne la ligne, le second la colonne.

On peut parcourir une matrice de deux manières :

for ligne in matrice:
    for val in ligne:
        print(val)

Ou avec des indices explicites :

for i in range(len(matrice)):
    for j in range(len(matrice[i])):
        print("Élément", i, j, ":", matrice[i][j])

Il est essentiel que toutes les lignes aient la même longueur. Dans le cas contraire, le tableau ne peut pas être traité comme une vraie matrice. Ce problème d’homogénéité structurelle doit être évité.

À retenir

Une matrice est représentée par un tableau de tableaux. On y accède avec deux indices, en ligne puis en colonne. Toutes les lignes doivent avoir la même taille pour former une structure cohérente.

Étude de cas : tableau de températures sur trois jours

Supposons que l’on veuille suivre les températures relevées chaque heure pendant trois jours. Chaque jour est représenté par un tableau, et l’ensemble par une matrice :

temperatures = [
    [19, 21, 22, 20],  # Jour 1
    [18, 20, 21, 19],  # Jour 2
    [17, 19, 20, 18]   # Jour 3
]

Calculer la température moyenne du jour 2 :

moyenne = sum(temperatures[1]) / len(temperatures[1])

Trouver la température maximale de toute la matrice :

max_temp = max([max(jour) for jour in temperatures])

Ce type de structure est directement réutilisable dans d’autres axes du programme, notamment pour les tables de données. La manipulation de tableaux ou matrices prépare aux opérations de tri, de recherche ou de fusion de données.

À retenir

Les matrices sont bien adaptées aux séries de mesures structurées. Elles permettent de représenter, analyser et manipuler des données organisées selon plusieurs dimensions.

Bonnes pratiques et limites

L’utilisation des tableaux nécessite quelques précautions :

  • Toujours vérifier que les indices utilisés sont valides.

  • Éviter les lignes de longueurs différentes dans une matrice.

  • Prévoir le cas d’un tableau vide.

  • Ne pas mélanger les types d’éléments dans un même tableau.

Il est important de noter que le programme interdit l’usage des slices (liste[1:3]) et n’aborde pas l’aspect dynamique des tableaux en Python. Il convient donc de se limiter aux opérations explicitement attendues : création, modification élémentaire, parcours, compréhension, double indexation.

Enfin, les tableaux sont généralement utilisés en 1 ou 2 dimensions. Même si des structures à plus de deux dimensions sont possibles, leur usage dépasse le cadre de la classe de Première.

À retenir

L’usage des tableaux implique des règles précises : pas de slices, pas de tableaux dynamiques, ni de structures irrégulières. Les tableaux doivent rester simples et bien structurés.

Conclusion

Les tableaux et les matrices sont des outils fondamentaux pour organiser et traiter efficacement des données en informatique. Ils permettent de représenter des séries, des grilles ou des mesures dans des structures ordonnées, simples à manipuler. Ces notions sont réutilisées dans de nombreuses parties du programme, qu’il s’agisse d’analyser des tables de données, de trier des valeurs ou de concevoir des algorithmes efficaces. La rigueur dans leur usage est essentielle pour assurer un fonctionnement fiable et clair des programmes.