Mémo : Les listes
Les listes sont des séquences : elles sont ordonnées et itérables
Les listes sont muables : elles peuvent être modifiées après leur création.
Les listes sont hétérogènes : elles peuvent contenir tous les types d'objets.
Généralités
Création d'une liste
Les listes s'écrivent avec des crochets [ ]. Les éléments sont séparés par des virgules.
Exemple :
liste1 = [12, 8, -9, 9.5, 3]
liste2 = ['a', 'b', 'c', 'd']
liste4 = [] #Une liste peut être vide
Longueur d'une liste
len(liste) |
Renvoie le nombre d'élément dans la liste, c'est-à-dire la longueur de la liste. |
|---|
Récupération d'un élément d'une liste
liste[i] avec i ≥ 0 |
Renvoie le ième élément de liste en partant du début, le premier élément ayant l'indice 0. |
|---|---|
liste[i] avec i < 0 |
Renvoie le ième élément de liste en partant de la fin, le dernier élément ayant l'indice -1. |
Exemple :
liste = ['a', 'b', 'c', 'd']
elt_A = liste[1] #La variable elt_A contient maintenant 'b'
elt_B = liste[-2] #La variable elt_B contient 'c'
Modification d'une liste
Remplacement d'une valeur par une nouvelle valeur
liste[i] = x avec i≥0 |
Modifie liste en remplaçant l'élément d'indice i par x, le premier élément ayant l'indice 0. |
|---|---|
liste[i] = x avec i<0 |
Modifie liste en remplaçant l'élément d'indice i par x en partant de la fin de la liste, le dernier élément ayant l'indice -1. |
Exemple :
liste = [12, 8, -9, 9.5, 3]
liste[1] = 'a' #La variable liste est maintenant égale à [12, 'a', -9, 9.5, 3]
Ajout d'un élément à une liste
• Ajout d'un élément à l'aide de la méthode append(...)
liste.append(x) |
Modifie liste en ajoutant l'élément x après le dernier élément. |
|---|
• Remarque : ajout d'un élément par concaténation
Il est possible d'utiliser l'opérateur + entre deux listes :
l1 + l2 |
Renvoie une liste qui contient les éléments de l1 avec à la suite ceux de l2. |
|---|
Avec cet opérateur, on ajoute un élément à la liste avec le code suivant.
liste = liste + [x] |
Modifie liste en ajoutant l'élément x après le dernier élément. |
|---|
Suppression d'un élément d'une liste
• Suppression d'un élément à l'aide de la méthode pop(...)
liste.pop() |
Modifie liste en supprimant le dernier élément et renvoie cet élément. |
|---|---|
liste.pop(i) |
Modifie liste en supprimant le ième élément et renvoie cet élément. |
• Suppression à l'aide l'instruction del
Exemple :
liste = ['a', 'b', 'c', 'd', 'e', 'f']
del liste[1] #La variable liste est maintenant égale à ['a', 'c', 'd', 'e', 'f']
• Suppression d'un élément d'une liste
liste.remove(elt) |
Modifie liste en supprimant l'élément elt.Attention, si l'élément x n'est pas dans liste, cette fonction lève une erreur. |
|---|
Parcours d'une liste avec for ... in ...
Utilisation de for pour parcourir les éléments
Exemple : affichage des 10 premiers nombres entiers
liste = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
for elt in liste: #elt est une variable qui prend successivement les valeurs de la liste
print(elt, "^2"," = ", elt**2, sep="")
Utilisation de for pour parcourir les indices
Exemple : affichage d'une lettre sur deux de l'alphabet
liste = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q','r', 's']
for i in range(len(liste)): #i est une variable qui prend successivement les valeurs des positions
if i % 2 == 0:
print(liste[i], end='')
Condition d'appartenance d'un élément à une liste
Les conditions (utilisable avec if ou while) d'appartenance et de non-appartenance d'un objet à une liste sont : in et not in.
Exemple :
liste = ['a', 'e', 'i', 'o', 'u', 'y']
caract = 'b'
if caract in liste:
print(caract, 'est une voyelle')
if caract not in liste:
print(caract, 'n'est pas une voyelle')
Autres opérations sur les listes
Les opérateurs + et * appliqués aux listes
l1 + l2 |
Renvoie une liste qui contient les éléments de l1 avec à la suite ceux de l2. |
|---|---|
l1 * n ou n * l1 |
Renvoie une liste qui contient de façon répétée n fois les éléments de l1. |
Exemple :
liste1 = [12, 8, -9]
liste2 = [3, 5]
liste = liste1 + liste2 # liste3 contient [12, 8, -9, 3, 5]
Remarque : l'opérateur + peut être utilisé pour ajouter un élément à une liste :
liste = [12, 8, -9]
elt = 5
liste = liste + [elt] # liste3 contient [12, 8, -9, 5]
La fonction list
La fonction list(itérable) transforme un itérable en liste.
Exemple : liste des 100 premiers nombres
liste = list(range(1,101))
Exemple : transformation d'une chaine de caractères en liste
liste = list('abcdefghijklmnopqrstuvwxyz')
Utilisation de méthodes prédéfinies
• Les méthodes de recherche dans les listes
liste.index(x) |
Renvoie l'indice de la première occurrence de x dans liste ou une erreur si x n'est pas dans liste. |
|---|---|
liste.count(x) |
Renvoie le nombre d'occurrence de x dans liste. |
• La méthode de tri d'une liste
liste.sort() |
Modifie liste en triant l'ordre de ses éléments s'ils sont du même type. |
|---|
Quelques fonctions du module random pour les listes
Pour pouvoir utiliser les fonctions suivantes, le module random doit être importé :
from random import *
choice(liste) |
Renvoie un élément de liste pris aléatoirement. |
|---|---|
sample(liste, n) |
Renvoie une liste contenant n éléments de liste pris aléatoirement. |
shuffle(liste) |
Mélange les éléments de liste. |