Les listes dans Python

1. Définitions

Définition 1.
$\bullet$ Une liste L=[$a_1$, $a_2$,$\ldots$, $a_n$ ] est une variable qui contient une suite ordonnée de $n$ valeurs variables ou constantes, de même type ou de de types différents.
$\bullet$ Les élément de la liste sont ordonnés, séparés par des virgules et le tout est encadré par des crochets.
$\bullet$ Les éléments de la liste sont numérotés de 0 à $n-1$. L’élément d’indice $i$ se note L[$i$].
$\bullet$ La longueur de la liste est égale au nombre de ses éléments et se note len(L).

Exemples

$\bullet$ L1=[0,2,4,6,8] est la liste formée des cinq nombres entiers pairs inférieurs à 10. L1[0]=0 ; L1[1]=2 ; L1[2]=4 ; L1[3]=6 et L1[4]=8. Enfin la liste L1 est de longueur len[L1]=4.

$\bullet$ L2=[True, True, False, True, False] est une liste formée uniquement de booléens.

$\bullet$ B=[2022, “Nom”, “Prenom”, Age, rang, True] est formée d’une constante, de deux chaînes de caractères, de deux variables, et d’un booléen.

$\bullet$ V=[] ne contient aucun élément. V est la liste vide.

2. Opérations sur les listes

Ajouter, modifier, supprimer des éléments

  • La liste L+L’ est la liste qui s’obtient par enchaînement des deux listes L et L’ mises bout à bout dans cet ordre. Ainsi la liste S=L1+L2 contient tous les éléments de L1 suivis des éléments de L2 dans cet ordre. L1+L2 = [0,2,4,6,8,True, True, False, True, False].
  • Ajouter un élément à la liste L. L’instruction L.append(a) donne la liste L+[a].
    Ainsi : L1.append(10) = [0,2,4,6,8,10].
  • Afficher le $i$-ème élément de la liste L : Il suffit de taper sur la console : >>> L$i$] puis Entrée, ou bien dans un programme taper : print(L[$i$]).
  • Modifier le $i$-ème élément de la liste L : Si L[$i$]=$a_i$, il suffit de taper : L[$i$]=$b$.
  • L’instruction L.remove($a$) permet de supprimer la première occurrence de l’élément $a$ dans la liste L. Ainsi : L1.remove(4) = [0,2,6,8].
  • L’instruction L.pop($i$) permet de supprimer l’élément d’indice $i$ dans la liste L. Ainsi : L.pop(3)=[0,2,4,8].

Parcourir tous les éléments d’une liste

On peut parcourir les éléments d’une liste de deux manières dans une boucle :

  1. En parcourant ses éléments (dans l’ordre) avec l’instruction : for $a$ in L :
  2. En parcourant ses éléments par indice avec l’instruction : for $i$ in range(len(L)) :

Mode de génération d’une liste

Le programme suivant permet de générer des éléments de la liste des carrés des nombres de 1 à 10. Rappelons que tout ce qui vient après un “ # ” sur une ligne est un commentaire.

programme 1programme 2
L=[1,2,3,4,5,6,7,8,9,10]
L1=[$\,$] # La liste vide.
for i in L : # Parcourir les éléments de L
$\qquad$ L1.append(i**2) # Ajouter $i^2$ à L1.
print(L1)
# Afficher la liste finale.
L1=[$\,$] # La liste vide.
for i in range(1,11) : # range(1,11) contient tous les nombres de 1 à 10.
$\qquad$ L1.append(i**2) # Ajouter $i^2$ à L1.
print(L1)
# Afficher la liste finale.

Plus généralement, le liste : [$f(x)$ for $x$ in L] donnera la liste des images de tous les nombres $x$ dans la liste L. Il serait plus judicieux dans ce cas d’afficher la liste des couples fait des listes [$x,f(x)$] pour $x$ dans L en tapant : [[$x,f(x)$] for $x$ in L].

Il est possible d’afficher les images de certaines valeurs satisfaisant un test (ici nombres pairs), en tapant : [[$x,f(x)$] for $x$ in L if $x\%2=0$ ].