Chaque élément d’une liste est référencé par un indice.
Le premier élément d’une liste possède l’indice 0, le suivant 1, etc. (comme dans la plupart des langages IT, sauf en natural adabase !)
Pour obtenir l’information d’un élément de liste, on utilise la syntaxe suivante.
toto = liste[indice]
Exemple d’utilisation d’une liste:
fruits = ['pommes', 'poires', 'ananas', 'cerises', 'oranges', 'kiwis'] fruit_prefere = fruits[3] # J'adore les cerises !
Parcours d’une liste au moyen d’une boucle for… in range:
#!/bin/python3 fruits = ['pommes', 'poires', 'ananas', 'cerises', 'oranges', 'kiwis'] for compteur in range(0, 6): print(fruits[compteur])
Lecture d’un fichier et convertir en liste :
#!/bin/python3
with open('toto', 'r', encoding='utf-8') as f:
lignes = f.readlines()
for i in range(len(lignes)):
print(lignes[i])
Explication :
range(len(lignes))
génère des indices de0
jusqu’àlen(lignes)-1
(L’index commence toujours à partir de zéro !lignes[i]
permet d’accéder à chaque ligne par son index
Parcours d’une liste
Précédemment, nous avons parcouru une liste au moyen d’une boucle for…in range.
Ce n’est pas très pratique car il faut connaître le nombre d’éléments que contient la liste et le renseigner « en dur » dans l’instruction range.
Mais il est possible de parcourir tous les éléments d’une liste sans connaître le nombre d’éléments qu’elle contient en utilisant la syntaxe suivante.
for element in liste: traitement
Parcours d’une liste en utilisant la syntaxe for…in.
Ainsi, nous aurions pu écrire notre code comme suit.
#!/bin/python3 fruits = ['pommes', 'poires', 'ananas', 'cerises', 'oranges', 'kiwis'] for element in fruits: print(element)
Le code de l’exercice précédent utilisant for…in. sans donc connaître d’avance le nombre d’éléments !!!!
Nombre d’éléments d’une liste
Il est possible de connaître le nombre d’éléments que contient une liste en utilisant la fonction len().
#!/bin/python3 fruits = ['pommes', 'poires', 'ananas', 'cerises', 'oranges', 'kiwis'] nbre_fruits = len(fruits) print("Il y a", nbre_fruits, "fruits dans la liste.")
Utilisation de la fonction len().
Vérification de la présence d’un élément dans une liste
Il est possible de savoir si un élément est présent dans une liste en utilisant l’instruction in.
variable in liste
Syntaxe de recherche d’un élément dans une liste.
Cette syntaxe retourne True si variable est dans liste, False dans les autres cas.
Exercice
Soit la liste presents_reunion = [‘Gaston’, ‘Lebrac’, ‘Prunelle’, ‘Jeanne’].
Proposez à l’utilisateur·rice d’encoder un prénom et afficher si ce prénom se trouve dans la liste presents_reunion.
#!/bin/python3
presents_reunion = ['Gaston', 'Lebrac', 'Prunelle', 'Jeanne']
prenom = input("Encodez un prénom :")
if prenom in presents_reunion:
print(prenom, "était bien présent(e) à la réunion.")
else:
print(prenom, "n'était pas présent(e) à la réunion !!!")
Ajout d’un élément à une liste
La fonction append()
Pour ajouter un élément à la fin d’une liste, on utilise la fonction append() comme suit.
liste.append(element)
Syntaxe de la fonction append().
L’élément element sera ajouté à la fin de la liste liste.
#!/bin/python3 voisins_belgique = ['France','Luxembourg', 'Pays-Bas'] voisins_belgique.append('Allemagne')
Ajout d’un élément à une liste au moyen de append().
Création et peuplement d’une liste.
#!/bin/python3 voisins_belgique = [] #création d'une liste vide voisins_belgique.append('France') voisins_belgique.append('Luxembourg') voisins_belgique.append('Pays-Bas') voisins_belgique.append('Allemagne') print('La Belgique a les voisins suivants :') for pays in voisins_belgique: print('-', pays)
Exemple récapitulatif
Écrivez un script qui lit 10 nombres entiers au claviers et les range dans une liste.
Finalement, parcourir la liste pour afficher tous les nombres pairs de la liste.
#!/bin/python3
liste_nombres_entiers = []
for compteur in range(1,11):
liste_nombres_entiers.append(int(input("Encodez un nombre entier :")))
print("Voici les nombres entiers encodés")
for nombre_entier in liste_nombres_entiers:
if nombre_entier % 2 == 0:
print(nombre_entier, end=", ")
Tri de liste
Il est très aisé de trier les éléments d’une liste en utilisant la fonction sort() comme suit.
liste.sort()
Syntaxe de la fonction sort().
#!/bin/python3 lettres = ['a', 'z', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p'] print('Non triée :', lettres) lettres.sort() print('Triée :', lettres)
Exemple de tri d’une liste.
Le tri se base sur l’ordre du code utilisé pour l’encodage des caractères.
Récapitulatif
Les listes sont des collections d’éléments qui peuvent être de types différents.
- On délimite une liste au moyen de crochets et en séparant les éléments au moyen de virgules.
Exemple :
un_peu_de_tout = ["pomme",3.1415,True,10]
- On accède à un élément d’une liste en utilisant l’indice de cet élément entre crochet. Exemple :
encore_de_tout = [1999,"Bruxelles",19.99] deuxieme_element = encore_de_tout[1]
Dans une liste, les éléments sont indicés à partir de 0.
La fonction len() permet de retourner le nombre d’éléments contenus dans une liste.
- Pour ajouter un élément à une liste, on utilise la fonction append() de la manière suivante :
maListe = ["Lundi","Mardi,","Mercredi","Jeudi"] maListe.append("Vendredi")
- On peut rechercher la présence d’un élément dans une liste au moyen de l’instruction in.
Exemple :
suspects = ["Toi","Vous","Moi"] if "Moi" in suspects: print("Zut ! Je suis découvert !"))
On peut trier une liste au moyen de la fonction sort().