Académique Documents
Professionnel Documents
Culture Documents
DÉFINITION
Une liste en informatique est une collection ordonnée d'éléments (entiers, flottants, chaînes de
caractères, booléens…) séparés par des virgules et mis entre crochets.
EXEMPLE
L = [2, 3, 5, 8, 13] est une liste de 5 entiers, distincte de la liste [3, 2, 5, 8, 13].
une chaîne de caractère (1e3), deux entiers (12 et 18) et un flottant (9.5).
Remarques
■ Une liste d'entiers ou de flottants peut représenter une suite numérique comme la liste
L.
■ On peut visualiser une liste comme une série de « boîtes » dans lesquelles chaque
élément de la liste est rangé. Les boîtes sont numérotées par un indice.
EXEMPLE
L'élément d'indice 0 de L, noté L[0], a pour valeur 2 ; L[1] a pour valeur 3 ; L[4] a pour valeur 13.
notes[0] a pour valeur ‘1e3', notes[1] a pour valeur 12, notes[3] a pour valeur 18.
Attention : range(n) correspond à la liste des entiers de 0 à n − 1 et range(n, m) à celle des entiers
de n à m − 1.
- Une liste peut être générée « en extension », c'est-à-dire en écrivant l'ensemble de ses
éléments.
EXEMPLE
- On peut également générer une liste par ajouts successifs d'un élément. L'instruction
L.append(x) ajoute x à la fin de la liste L (append signifie « ajouter » en anglais).
EXEMPLES
- On peut aussi générer une liste « en compréhension », notamment par une formule
définissant ses éléments.
EXEMPLES
Le tableau suivant résume les principales manipulations sur les éléments d'une liste.
EXEMPLE
On considère la suite (un) définie par u0 = 1 et, pour tout entier naturel n, un+1 = 2un + 3. On
souhaite calculer u20.
- Avec un tableur
- Avec Python
En fin d'algorithme, la variable u contient la valeur de u20. Le programme Python fournit la valeur
4 194 301.
Attention, en Python, range(1, 21) correspond à la liste des entiers consécutifs de 1 à 20. Pour
que la boucle for s'exécute 20 fois, il faut donc indiquer range(1, 21).
On considère la suite (un) définie, pour tout entier naturel n, par un = n2. On souhaite calculer et
représenter en Python les termes de u0 à u10.
On peut exécuter l'un des deux programmes suivants qui utilisent le module matplotlib.pyplot de
représentation graphique.
- Dans le programme 1, comme lorsque la représentation graphique est réalisée à la main, la
boucle for calcule l'ordonnée d'un point et le représente avant de passer au point suivant.
REMARQUE
Ce programme est présenté ici pour introduire de façon progressive l'utilisation du
langage Python dans l'étude des suites.
- Le programme 2 commence par dresser la liste de toutes les ordonnées des points à tracer.
La liste L est : [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100].
REMARQUE
C'est ce programme que nous utiliserons désormais pour faciliter l'appropriation de la
notion de liste en informatique.
Voir la figure 1 qui suit.
EXEMPLE
4
et, pour tout entier naturel n, un+1 = un2.
Remarque
On rappelle que l'instruction 'L.append(u)' ajoute u à la fin de la liste L.
EXEMPLE
On considère la suite (un) définie pour tout entier naturel n par un = 0,9n.
On admet que (un) est décroissante et on recherche le plus petit entier n pour lequel un ≤ 0,5.
On ne sait pas combien d'itérations seront nécessaires, on utilise donc une boucle while avec un
compteur qui s'incrémente tant que un est supérieur à 0,5.
La valeur de la variable n en fin de programme est 7. On en déduit que 0,97 est la plus petite
puissance de 0,9 inférieure ou égale à 0,5.
On considère la suite des carrés définie pour tout entier naturel k par uk = k2. Pour un entier
naturel n non nul, on souhaite calculer la somme sn des n premiers carrés :
n n
sn = ∑ uk = ∑ k2 = 12 + 22 + … + n2.
k=1 k=1
- Avec un tableur
Comme ci-contre, on calcule en colonne B les valeurs de uk en entrant en B2, dans cet exemple,
la formule =A2^2 que l'on recopie vers le bas.
En colonne C, on calcule les valeurs de sk. En C2, on entre la formule =B2. Puis en C3, pour
cumuler les valeurs de la colonne B, on entre la formule =C2+B3 que l'on recopie vers le bas.
Il faut recopier vers le bas jusqu'à la valeur n désirée. Par exemple, pour n = 7, on lit s7 = 140.
REMARQUE
La variable k est le « compteur » de la boucle. Ses valeurs de début et de fin
correspondent à ce qui est indiqué en bas et en haut du symbole Σ. Attention, en Python,
n
La variable s est l'« accumulateur » dans lequel on ajoute la valeur de uk à chaque tour de
la boucle. L'accumulateur est initialisé à 0.
La fonction sum, qui fait la somme des termes d'une liste, permet d'éviter le recours à une
boucle et à un accumulateur. On utilise alors une liste définie en compréhension comme ci-
dessous.
#doc
Memento Python
foucherconnect.fr/20pbpro109
#exos
Entraînement à l'évaluation
foucherconnect.fr/20pbpro110