Les listes

Après avoir manipulé des variables de différentes types (integer, float, string ou encore boolean), vous allez maintenant découvrir, dans cette dernière section du tutoriel, un nouveau type de variables, incontournables en programmation: les listes d'objets

1.Remplir une liste

exemple 1

Dans l'exemple 1, nous avons calculé successivement 15 nombres selon une règle établie. Ces nombres ont tous été affichés au fur et à mesure de la boucle et il est possible de lire la valeur de chacun à l'écran lors de l'exécution. Cependant, le programmeur n'a lui, en l'état, aucun moyen de connaitre ces valeurs une fois la boucle terminée. En effet, la variable u fonctionne par écrasement et son contenu correspond à la valeur calculée lors du dernier passage dans la boucle. Impossible donc d'avoir accès au cinquième de ces nombres, sauf à le recalculer indépendamment. On pourrait choisir de stocker les valeurs en mémoire dans quinze variables différentes mais cela n'est, en pratique, pas vraiment réalisable (trop de noms, trop de variables différentes, un script beaucoup trop long...)

exemple 2

L'exemple 2 présente un script légèrement modifié par rapport au premier. La ligne 3 a été rajoutée: elle permet de créer une liste, nommée L, qui est vide pour le moment. Ensuite, à la ligne 5, au lieu d'afficher successivement les valeurs de u, on choisit de remplir la liste L. La méthode append permet d'ajouter un élément à la liste: ici on ajoute la variable u dans l'état où elle se trouve à cet instant.

Une fois la boucle terminée, la ligne 5 s'est exécutée 15 fois et la liste contient donc les 15 valeurs successives de u

Lorsqu'on affiche une liste (voir ligne 7), on affiche le contenu entier de la liste. Une liste s'affiche entre crochets.

Si on veut accéder à un élément particulier de la liste (voir ligne 8), on peut le faire à partir de son indice, c'est à dire son "rang" dans la liste. Attention, le premier indice d'une liste vaut 0. En conséquence, le cinquième élément de la liste a pour indice 4.

Recopiez et exécutez l'exemple 3:

La liste alphabet contient les 26 lettres minuscules de l'alphabet latin, obtenues grâce à la table ASCII

exemple 3

D'un point de vue syntaxique, retenez que:

  • Une liste se note et s'affiche entre crochets

  • On accède à un élément de la liste par son indice, en respectant la syntaxe suivante: NomdelaListe[indice] l'indice se note entre crochets

  • On exécute une méthode associée à la liste en respectant la syntaxe suivante: NomdelaListe.NomdelaMéthode(paramètres éventuels) Le ou les paramètres de la méthode se notent entre parenthèses, comme pour une fonction

EXERCICES

Exercice 1: Remplir une liste contenant 30 nombres aléatoires entiers compris entre 100 et 200. Affichez-la pour contrôler.

Exercice 2: A l'aide de l'instruction input() saisir un entier N. Remplir ensuite une liste contenant tous les multiples de 7 inférieurs ou égaux à N

Exercice 3: A l'aide l'instruction input() saisir au clavier le nom de plusieurs couleurs et rangez-les successivement dans une liste. La saisie s'arrête lorsque l'utilisateur appuie directement sur la touche entrée (saisie vide)

Correction exercice 1

# un script possible

from random import randint

ListeAlea=[]

for i in range(30):

ListeAlea.append(randint(100,200))

print(ListeAlea)


Correction exercice 2

# un script possible. Vérifiez que votre script fonctionne pour N multiple de 7 et pour N inférieur à 7

N = int(input('donne un nombre entier: '))

Multiples=[]

a=7

while a<=N:

Multiples.append(a)

a=a+7

print(Multiples)



Correction exercice 3

# un script possible

Colors=[]

couleur=input("écris le nom d'une couleur: ")

while couleur !='':

Colors.append(couleur)

couleur=input("écris le nom d'une couleur: ")

print(Colors)


Comme vous l'avez constaté avec les exercices précédents, utiliser une liste permet notamment de stocker plusieurs variables dans une liste, sans connaitre à priori le nombre total d'éléments que va contenir la liste