Vous êtes sur la page 1sur 3

CPGE - Informatique Tronc Commun PTSI

Séquences et muabilité TP 3

Manipulation des listes en Python - v1.0

Elément de cours

Une liste en Python est une structure qui permet de stocker des valeurs repérées par un indice.
On récupère la longueur d’une liste grâce à la fonction len() et on accède à un élément de cette
liste en faisant suivre le nom de la liste du numéro de l’indice entre crochets (attention, les listes
commencent à l’indice 0).
Exemple dans la console Python :
1 >>> L = [1, 2, -8, 3.14, ’ptsi’, 2, True] # les éléments sont séparés par une virgule
2 >>> print(len(L)) # nombre d’éléments dans la liste L
3 7
4 >>> print(L[3], L[0]) # les indices de L vont de 0 à 6
5 3.14 1
6 >>> print(L[7]) # attention : il n’y a pas d’élément d’indice len(L)
7 Traceback (most recent call last):
8 File "<console>", line 1, in <module>
9 IndexError: list index out of range
10 >>> print(len([])) # [] est la liste vide
11 0

Exercice 1
1. Écrire une fonction somme(L), qui prend en paramètre une liste L de nombres, qui calcule et
renvoie la somme des valeurs de cette liste. Vous utiliserez la fonction range() et une boucle for.
2. Vérifier les valeurs renvoyées par somme([1, 2, 3, 4]) et somme([3.14]).
3. Que renvoie somme([]) ? Pourquoi ?

Elément de cours

Le langage Python propose une autre syntaxe pour parcourir une liste (une liste est un itérable).
Exemple dans la console Python :
1 >>> L = [2, 5, -2, 9]
2 >>> for x in L: # on itère sur les éléments de L
3 print(x**2)
4 4
5 25
6 4
7 81

Lycée F.-Roosevelt – Reims Page 1 / 3


CPGE PTSI - ITC Séquences et muabilité TP

Exercice 2
1. En utilisant cette nouvelle syntaxe, écrire une fonction somme_positifs(L), qui prend en pa-
ramètre une liste L de nombres, qui calcule et renvoie la somme des valeurs positives de cette
liste.
2. Vérifier la valeur renvoyée par somme_positifs([1, -2, 3, -4]).
3. Que renvoie somme_positifs([-1, -2]) ? Pourquoi ?

Elément de cours

Il existe de multiples façons de construire une liste. L’une d’entre elles consiste à partir d’une liste
(parfois vide) puis à ajouter les éléments souhaités un par un au bout de cette liste. Pour cela, on
peut utiliser la méthode append() (ajout).
Exemple Python : Les lignes de codes ci-dessous permettent de construire la liste des carrés
des entiers de 0 à 100.
1 L = [] # on part de la liste vide
2 for k in range(101): # 0 <= k <= 100
3 L.append(k ** 2) # on ajoute k^2 au bout de la liste

Exercice 3
On appelle suite de Syracuse une suite d’entiers naturels définie de la façon suivante :

u /2 si un est pair
n
u0 ∈ N∗ et ∀n ∈ N, un+1 =
3u + 1 si u est impair
n n

1. Écrire des lignes de code permettant de construire la liste [u0 , u1 , . . . , u15 ] avec u0 = 12.
2. Écrire une fonction suite(u0) qui construit et renvoie la liste [u0 , u1 , u2 , . . .] des valeurs de la
suite jusqu’à la première valeur 1 atteinte par la suite.
3. Vérifier que suite(12) renvoie bien : [12, 6, 3, 10, 5, 16, 8, 4, 2, 1]

Elément de cours

Une liste en Python est une structure indicée muable, c’est-à-dire que l’on peut modifier ses
éléments.
Exemple dans la console Python :
1 >>> L = [2, 5, -2, 9]
2 >>> L[2] = 0
3 >>> print(L)
4 [2, 5, 0, 9]

Exercice 4
Écrire des lignes de codes permettant, en partant d’une liste, de la modifier de telle sorte que ses
éléments soient rangés dans le sens inverse (sans utiliser l’opération .reverse()) . On commencera

Lycée F.-Roosevelt – Reims Page 2 / 3


CPGE PTSI - ITC Séquences et muabilité TP

par exemple par écrire :


1 L = [2, 4, 6, 8, 10]
2 n = len(L)

puis on utilisera la variable n et non pas directement la valeur 5.

Lycée F.-Roosevelt – Reims Page 3 / 3

Vous aimerez peut-être aussi