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 :
- En parcourant ses éléments (dans l’ordre) avec l’instruction : for $a$ in L :
- 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 1 | programme 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$ ].
Vues : 254