Informatique · Première · 4 min de lecture
Tableaux indexés et tableaux de tableaux
Tableau (list en Python) dont les éléments sont de même type : lecture et modification d'un élément par son indice, de 0 à len(t) − 1 ; parcours par indice ou par élément ; construction par compréhension ; tableau de tableaux pour représenter une matrice, élément a[i][j] à la ligne i et à la colonne j.
Chapitre du programme : Numérique et sciences informatiques (spécialité)
Bloc 1 sur 7 · Comprendre
Comprendre : des cases numérotées à partir de 0
Un tableau range plusieurs valeurs de même type dans des cases numérotées. En Python, on l'écrit avec une list entre crochets. Le numéro d'une case est son indice : le premier élément a l'indice 0, le dernier l'indice len(t) − 1. Un indice négatif compte depuis la fin : t[-1] est le dernier élément.
t = [5, 8, 3, 6, 1]
print(t[0], t[2], len(t))
print(t[-1], t[-2])
t[1] = 10
print(t)5 3 5
1 6
[5, 10, 3, 6, 1]Contrairement à un p-uplet, un tableau se modifie : t[1] = 10 remplace la valeur de la case d'indice 1.
Bloc 2 sur 7 · Approfondir
Approfondir : parcours, compréhension, matrices
Deux façons de parcourir. Par indice, for i in range(len(t)) donne 0, 1, 2… ; par élément, for x in t donne directement les valeurs.
t = [5, 8, 3]
for i in range(len(t)):
print(i, t[i])
for x in t:
print(x)0 5
1 8
2 3
5
8
3Tableau en compréhension. On décrit le contenu d'un tableau par une expression et une boucle, éventuellement filtrée par un if :
u = [3 * x + 1 for x in range(4)]
print(u)
v = [3 * x + 1 for x in range(4) if x % 2 == 0]
print(v)[1, 4, 7, 10]
[1, 7]Pour v, seules les valeurs paires de x (0 et 2) sont gardées.
Tableau de tableaux. Une matrice est un tableau de lignes ; m[i][j] est l'élément de la ligne i et de la colonne j, les deux comptées à partir de 0.
m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(m[1])
print(m[1][2], m[2][0])
s = 0
for i in range(3):
s = s + m[i][i]
print(s)[4, 5, 6]
6 7
15La boucle additionne m[0][0], m[1][1] et m[2][2] : la diagonale principale, 1 + 5 + 9 = 15.
Bloc 3 sur 7 · Exemple
Exemple guidé : modifier puis calculer
Énoncé. Quel nombre ce programme affiche-t-il ?
t = [4, 2, 7, 5, 8]
t[0] = t[1] + t[3]
print(t[0] * t[2])Résolution.
- Indices à partir de 0 : t[1] = 2, t[2] = 7, t[3] = 5.
- t[0] reçoit 2 + 5 = 7 ; le tableau devient [7, 2, 7, 5, 8].
- Le programme affiche t[0] × t[2] = 7 × 7 = 49.
49Variante : compter par un parcours. Combien d'éléments sont strictement supérieurs au premier, 4 ? Ce sont 7, 5 et 8.
t = [4, 2, 7, 5, 8]
n = 0
for i in range(len(t)):
if t[i] > t[0]:
n = n + 1
print(n)3Bloc 4 sur 7 · Visualiser
Voir : indices positifs, indices négatifs, matrice
Pour t = [5, 8, 3, 6, 1] :
| Valeur | 5 | 8 | 3 | 6 | 1 |
|---|---|---|---|---|---|
| Indice | 0 | 1 | 2 | 3 | 4 |
| Indice négatif | −5 | −4 | −3 | −2 | −1 |
Pour m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]], le premier indice choisit la ligne, le second la colonne :
| Ligne | colonne 0 | colonne 1 | colonne 2 |
|---|---|---|---|
| ligne 0 | 1 | 2 | 3 |
| ligne 1 | 4 | 5 | 6 |
| ligne 2 | 7 | 8 | 9 |
Continuez sur votre lancée
Vous avez découvert l’essentiel et un exemple. Retrouvez la suite du cours et les points à retenir, puis passez à l’entraînement guidé dans votre compte.
- Les formules et les repères à retenir
- Les erreurs fréquentes expliquées
- Un exercice avec des aides et sa correction
L’accès gratuit comprend les cours et exercices de votre niveau choisi.
Sources
- BO spécial n°1 du 22 janvier 2019 — programme de spécialité numérique et sciences informatiques de première générale, annexe (https://cache.media.education.gouv.fr/file/SP1-MEN-22-1-2019/26/8/spe633_annexe_1063268.pdf) — « Représentation des données : types construits », tableau indexé, tableau donné en compréhension
- Documentation officielle de Python 3, The Python Language Reference et The Python Standard Library (https://docs.python.org/3/) — The Python Tutorial, « Lists » et « List Comprehensions » ; The Python Standard Library, « Sequence Types — list »
Vous pensez avoir trouvé une erreur dans cette leçon ? Signalez-la par e-mail.