Première > Mathématiques > Algorithmes et programmation > Stage - Générer une liste
Accède gratuitement à cette vidéo pendant 7 jours
Profite de ce cours et de tout le programme de ta classe avec l'essai gratuit de 7 jours !
Il existe deux manières de générer une liste en Python : en extension et en compréhension.
Pour rappel, une liste est ordonnée : chaque élément occupe une place précise dans la liste. Mais ces éléments ne sont pas forcément classés par ordre croissant.
Dans la suite, les lignes contenant >>
référent à une sortie faite par le programme.
On peut énumérer les éléments d'une liste.
Exemple :L = [2, 4, 6]
On peut alors rajouter un élément à cette liste à l'aide de l'instruction .append(X)
qui rajoute X
à la fin de la liste.
Exemple :L.append(3)
En demandant à l'ordinateur la nouvelle valeur de L
, on a alors :L
>> [2, 4, 6, 3]
Pour générer une liste par compréhension, il faut qu'une liste soit déjà créée au préalable.
A partir des éléments de cette liste, on crée une nouvelle liste qui dépend donc de la précédente : on dit alors que cette nouvelle liste est définie en compréhension.
Exemple 1 :
On souhaite générer une liste contenant les 7 premiers multiples de 5
On crée une liste vide puis une liste d'entiers initiale par extension.
mult = []
ent = [1, 2, 3, 4, 5, 6, 7]
On prend ensuite chaque élément de ent
que l'on multiplie par 5 et on ajoute le résultat à la liste mult
, pour avoir la liste des 7 premiers multiples de 5.
for k in ent :
mult.append(k*5)
Pour connaitre la nouvelle valeur de la liste mult
, on écrit son nom dans le programme.
mult
>> [5, 10, 15, 20, 25, 30, 35]
Exemple 2 :
Les 7 premiers cubes
On définit à nouveau une liste ent contenant les 7 premiers entiers puis on définit la liste cube directement à l'intérieur des crochets.
ent = [1, 2, 3, 4, 5, 6, 7]
cube = [k**3 for k in ent]
La commande ** signifie puissance. On peut à nouveau s'assurer que la liste ainsi créée contient bien les éléments attendus.
cube
>> [1, 8, 27, 64, 125, 216, 343]
Exemple 3 :
Nombres pairs dans une liste.
Il est possible d'insérer des tests lors de la génération d'une liste.
On souhaite extraire d'une liste initiale les entier pairs.
La liste initiale est la suivante :
L = [1, 2, 3, 5, 6, 8, 11, 12]
Pour trouver si un nombre est pair on utilise le fait que sa division euclidienne par 2 est nulle si et seulement si il est pair.
Pour trouver le reste d'un entier k dans la division euclidienne par un entier n, on écrit la commande :
k%n
Ainsi, la commande pour générer la liste est la suivante :
pair = [k for k in L if k%2 == 0]
Cette instruction signifie que l'on garde k
, pour k
dans la liste L
, si le reste de la division euclidienne de k
par 2 vaut 0.
On remarquera l'utilisation de ==
nécéssaire pour effectuer un test d'égalité. Le symbole =
réfère à une affection de valeur à la variable.
On regarde alors les valeurs de pair
.
pair.
>> [2, 6, 8, 12]
Cette fiche de cours est réservée uniquement à nos abonnés. N'attends pas pour en profiter, abonne-toi sur lesbonsprofs.com. Tu pourras en plus accéder à l'intégralité des rappels de cours en vidéo ainsi qu'à des QCM et des exercices d'entraînement avec corrigé en texte et en vidéo.