Livre_silo 30 août 2013 16:32 Page 151
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
151
6 – Notions de complexité et algorithmique sur les tableaux
En Python, on peut construire un tel tableau en énumérant ses éléments entre crochets,
séparés par des virgules :
In [1]: a = [3, 7, 42, 1, 4, 8, 12]
Les cases sont numérotées à partir de 0. On accède à la première case avec la notation a[0],
à la seconde avec a[1], etc. Si on tente un accès en dehors des cases valides du tableau, alors
on obtient une erreur :
In [2]: a[5]
Out[2]: 8
In [3]: a[7]
IndexError: list index out of range
Il est important de noter que a[-1], . . ., a[-7] ont du sens : a[-1] est le dernier élément (c’està-dire 12), a[-2] l’avant-dernier (c’est-à-dire 8), etc. On obtient la longueur d’un tableau
avec la fonction len. Ainsi, len(a) vaut 7 sur l’exemple précédent. Un tableau peut avoir la
longueur 0 ; il se note alors [].
Il existe d’autres procédés pour construire un tableau que d’énumérer explicitement ses
éléments. On peut par exemple concaténer un certain nombre de fois un tableau donné.
Ainsi, l’expression suivante construit un tableau de taille 100 :
In [4]: 50 * [0,1]
Out[4]: [0, 1, 0, 1, ..., 0, 1]
Il est également possible d’utiliser une construction par compréhension de la forme
[e(i) for i in range(n)] , où e est une expression quelconque qui construit le tableau
[e(0), e(1), ..., e(n-1)]. Ainsi, l’expression suivante construit le même tableau que précédemment.
In [5]: [i % 2 for i in range(100)]
Out[5]: [0, 1, 0, 1, ..., 0, 1]
6.2.2 Accès aux éléments d’un tableau
On modifie le contenu d’une case avec la construction d’affectation habituelle. Ainsi, pour
mettre à 0 la deuxième case du tableau a, on écrira :
In [6]: a[1] = 0
La fonction print affiche le contenu d’un tableau, sous la même forme que celle utilisée
pour le construire :
In [7]: print(a)
[3, 0, 42, 1, 4, 8, 12]
¨
©
¨
©
¨
©
¨
©
C o p y r i g h t E y r o l l e s
151
6 – Notions de complexité et algorithmique sur les tableaux
En Python, on peut construire un tel tableau en énumérant ses éléments entre crochets,
séparés par des virgules :
In [1]: a = [3, 7, 42, 1, 4, 8, 12]
Les cases sont numérotées à partir de 0. On accède à la première case avec la notation a[0],
à la seconde avec a[1], etc. Si on tente un accès en dehors des cases valides du tableau, alors
on obtient une erreur :
In [2]: a[5]
Out[2]: 8
In [3]: a[7]
IndexError: list index out of range
Il est important de noter que a[-1], . . ., a[-7] ont du sens : a[-1] est le dernier élément (c’està-dire 12), a[-2] l’avant-dernier (c’est-à-dire 8), etc. On obtient la longueur d’un tableau
avec la fonction len. Ainsi, len(a) vaut 7 sur l’exemple précédent. Un tableau peut avoir la
longueur 0 ; il se note alors [].
Il existe d’autres procédés pour construire un tableau que d’énumérer explicitement ses
éléments. On peut par exemple concaténer un certain nombre de fois un tableau donné.
Ainsi, l’expression suivante construit un tableau de taille 100 :
In [4]: 50 * [0,1]
Out[4]: [0, 1, 0, 1, ..., 0, 1]
Il est également possible d’utiliser une construction par compréhension de la forme
[e(i) for i in range(n)] , où e est une expression quelconque qui construit le tableau
[e(0), e(1), ..., e(n-1)]. Ainsi, l’expression suivante construit le même tableau que précédemment.
In [5]: [i % 2 for i in range(100)]
Out[5]: [0, 1, 0, 1, ..., 0, 1]
6.2.2 Accès aux éléments d’un tableau
On modifie le contenu d’une case avec la construction d’affectation habituelle. Ainsi, pour
mettre à 0 la deuxième case du tableau a, on écrira :
In [6]: a[1] = 0
La fonction print affiche le contenu d’un tableau, sous la même forme que celle utilisée
pour le construire :
In [7]: print(a)
[3, 0, 42, 1, 4, 8, 12]
