Objectifs de la leçon :
L'objectif de la leçon est de maîtriser la notion de liste.
Les listes sont des structures ordonnées de données placées les unes à la suite des autres.
Voici une liste de 4 données en Python :
L = [ 12 , "riri" , 15.3 , "Fifi"]Comme vous le constatez, ces données sont de natures différentes. Il y a un entier, un float et deux chaines de caractères.
L'objet de cette leçon est de savoir:
- construire des listes,
- accéder à leurs éléments,
- les modifier,
- ... tout ça pour faciliter l'écriture de nos programmes. (En général, l'utilisation des listes évite la création de multiples variables).
Pré-requis :
La leçon 1 : afficher, saisir, les variables, les calculs.
La leçon 2 : les structures conditionnelles.
La leçon 3 : les fonctions.
La leçon 4 : les boucles.
Ma liste de courses :
![]() |
|
On peut ajouter un élément avec append :
On peut supprimer un élément avec remove :
Utiliser une boucle pour accéder aux éléments d'une liste :
Utiliser des index pour accéder aux éléments d'une liste :
Quand on crée une liste, les éléments sont automatiques numérotés à partir de 0 :
Index trop élevé ?
Les index négatifs permettent de partir de la fin.
Les listes sont des collections de données.
Créer, modifier, afficher une liste :
Accéder aux éléments via des index :
Numérotation automatique :
Les listes s'apparentent à des tableaux unidimensionnels. Les éléments d'une liste sont automatiquement numérotés à partir de 0. On accède à l'élément d'index n via l'expression L[n]
Les index négatifs permettent de partir de la fin.
Découpage avec les :
En utilisant les : , on peut copier des parties d'une liste.
- L [n:p] retourne la liste des éléments numérotés de n à p - 1.
- L [:p] retourne la liste des éléments numérotés de 0 à p - 1 (tous les éléments jusqu'au (p-1) nième.)
- L [p:] retourne la liste de tous les éléments à partir du p ième.
![]() | Attention ! On n'accède pas directement à la sous liste de départ mais à une copie : |
Les fonctions de recherche :
le mot-clé in permet de savoir si un élément est dans une liste.
Connaître la position d'un élément avec la fonction index.
![]() | S'il l'élément A est plusieurs fois dans la liste, c'est l'index du premier qui est retourné. |
![]() | Si l'élément A n'est pas dans la liste, le système génère une erreur. |
Parcourir une liste via une boucle for :
Les listes sont des structures de données itérables, donc on peut parcourir leurs éléments un par un avec une boucle for.
Calcul de la somme des éléments d'une liste :
Calcul de la moyenne des éléments d'une liste :
L=[ ] ne vide pas une liste existante mais crée un nouvel objet :
L[N:P] ne permet pas d'accéder à une sous liste de L mais crée une nouvelle liste allant du N ième au P-1 ème.
Attention aux effets de bord ! Effet d'un remove dans une boucle for...
Dans cette partie, vous verrez successivement comment :
- Insérer un élément dans une liste avec la fonction insert,
- Étendre une liste avec la fonction extend
- Supprimer et récupérer le dernier élément avec la fonction pop
- Trier une liste avec la fonction sort,
- Trouver le minimum et le maximum d'une liste avec les fonctions min et max,
- Inverser les éléments d'une liste avec reverse,
- Concaténer 2 listes avec +.
les tuples
https://fr.wikibooks.org/wiki/Programmation_Python/Type_de_donn%C3%A9es_complexe#Les_tuples

L = [ 10 , 20 , 30 , 40 , 50 , 60 ]Qu'est-ce qu'affiche ce code ?
print (L[1])

L = [ 10 , 20 , 30 , 40 , 50 , 60 ]Qu'est-ce qu'affiche ce code ?
print (L[2],L[-1])

L = [ 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 ]Qu'est-ce qu'affiche ce code ?
print (L[3:7])

L = [ 10 , 20 , 30 , 40 , 50 , 60 ]Qu'est-ce qu'affiche ce code ?
L.insert(2,15)
print (L[1:4])

L = [ 10 , 20 , 30 , 40 ]Qu'est-ce qu'affiche ce code ?
L.append([50 , 60])
print (len(L))

L = [ 10 , 20 , 30 , 40 ]Qu'est-ce qu'affiche ce code ?
L.extend([50 , 60])
print (len(L))



def concat(liste,sep) :Qu'est-ce qu'affiche ce code ?
retour=""
for i in range(0,len(liste)-1) :
retour = retour + str(liste[i]) + str(sep)
retour = retour + str(liste[len(liste)-1])
return retour
L=["Toto","Tutu","Riri","Fifi","Loulou"]
print (concat(L,"@"))

def filtre(liste):Que fait cette fonction ?
L=[]
for i in liste:
if i % 2 == 0 :
L.append(i)
del(liste[:])
for i in L :
liste.append(i)
Est-ce qu'une liste peut contenir une autre liste ?
Pourquoi on utilise parfois le . (comme L.append("toto")) et parfois non (comme len(L)) ?
Python est à la fois un langage procédural et un langage orienté objet.
- Du côté procédural, on rencontre des appels de fonctions standards comme len(L)
- Côté objet, comme dans tous les langages objets (java, C#...), l'appel d'une fonction doit être préfixé par un objet via l'opérateur . (comme L.append("toto"))
Comment fait-on pour supprimer tous les éléments d'une liste ? J'ai essayé le code suivant mais visiblement, ça ne marche pas !
L'instruction L = [ ] ne vide pas la liste passée en paramètre de ta fonction mais crée un nouvel objet. Il faut utiliser la fonction del :
Est-ce qu'on peut créer une liste vide ?
Oui :
L = []
Je ne comprends pas bien la différence entre append et extend ?
Est-ce qu'un objet range est une liste ?
Non, mais on peut construire une liste à partir d'un objet range :
Je veux supprimer un élément d'une liste qui apparaît plusieurs fois. Comment faire ? remove ne supprime que le premier.
Des fois on voudrait supprimer un élément dans une liste mais sans savoir réellement si il est dans la liste. C'est juste une précaution.
Mais s'il n'y est pas, le programme va tomber en erreur. Comment faire ?
Comment faire pour ajouter un élément dans la liste mais pas à la fin ?
Utiliser la fonction insert. Vous la trouverez dans la rubrique "Bon à savoir".
Pourquoi dans vos exemples vous écrivez souvent str(L), comme si vous cherchiez à transformer une liste en une chaine de caractères ?
- Quels types d'éléments une liste peut-elle contenir ? Détaillez votre réponse.
- Une liste peut-elle contenir une autre liste ?
- Quelle est la différence entre append et extend ?
- On peut créer des parties de liste en utilisant les : (deux points). Décrire le plus complètement possible la syntaxe utilisée.
- Peut-on parcourir une liste sans faire référence aux index de ses éléments ?
- Quelle(s) difficulté(s) peut-on rencontrer quand on trie une liste ?
Il a été réalisé par Angélique ETIENNE et Vinoth RAMOU, promo 2016-2017
Il est complet et bien structuré.
Il a été réalisé par Jorane CONGIO et Fabrice EDGARD, promo 2016-2017
Il est plus touffu que le précédent mais un peu moins agréable à l’œil.