j'ai compris mes maths
j'ai compris.com
Cours et exercices corrigés en vidéo comme en classe
lycée
collège
primaire
Manuel scolaire

Web


Nouveaux Programmes
Spécialité Maths
Nouveaux programmes

Accueil

Liste en Python


Listes en Python

- Ce qu'il faut savoir

  1. Une liste est une suite d'éléments ordonnés.
  2. a=[2,"nico",3.2,-5]
    a=[2,"nico",3.2,-5] crée une liste de 4 éléments.
    Les différents éléments sont séparés par une virgule.
    Des crochets entourent les éléments de la liste.
    Les éléments sont numérotés à partir de 0.
    2 est donc l'élément de rang 0 ou encore d'indice 0.
    "nico" est l'élément de rang 1 ou d'indice 1.
    -5 est l'éléments de rang 3.
    Attention comme on numérote à partir de 0,
    s'il y a 4 éléments, le dernier élément a pour indice 3 et pas 4 !


    Les éléments ne sont pas forcément de même nature!
    Dans l'exemple a=[2,"nico",3.2,-5]
    2 est un entier
    "nico" est une chaine de caractère.
  3. a[0], a[1]
    a[0] désigne l'élément d'indice 0
    c'est à dire le premier élément de la liste.

    a[1] désigne l'élément d'indice 1.

    Dans l'exemple a=[2,"nico",3.2,-5]
    a[0] correspond à 2.
    a[1] correspond à "nico".
    a[2] correspond à 3.2.
    a[3] correspond à -5.
  4. len(a)
    len(a) renvoie le nombre d'éléments de la liste a.

    Dans l'exemple a=[2,"nico",3.2,-5]
    len(a) renvoie 4.
    Car il y a 4 éléments dans cette liste.

3 techniques pour créer une liste & Enlever et rajouter des éléments

  1. Créer une liste à la main: Li=["titi",2,"toto"]
  2. Créer une liste avec range(): Li=list(range(2,50))
  3. Créer une liste avec l'opérateur *: Li=[0]*10
  4. Rajouter des éléments à la fin de la liste: 2 méthodes:
    - avec l'opérateur + : Li=Li+[3] on met deux listes bout à bout (concaténation)
    - avec la méthode append(): Li.append(3)
  5. Rajouter des éléments à une position précise: utiliser la méthode insert()
    Li.insert(position,élément)
  6. Enlever des éléments: del Li[3]

Parcourir une liste

: 2 méthodes très classiques

  1. Avec les indices
    a=[2,"nico",3.2,-5]
    for i in range(0,len(a)):
    i correspond à un indice.
    i va prendre toutes les valeurs entières de 0 à len(a)-1
    Or len(a)=4
    Donc i va prendre les valeurs 0 puis 1, ..., jusqu'à 3.

      print(a[i])
    Le programme va afficher
    tous les a[i]
    avec i qui va prendre toutes les valeurs entières de 0 à len(a)-1

  2. Avec les éléments
    a=[2,"nico",3.2,-5]
    for i in a:
      print(i)
    Cette fois, i correspond à un élément de la liste.
    i ne correspond pas à un indice,
    mais à un élément de la liste!


    Avec a=[2,"nico",3.2,-5]
    i va prendre successivement la valeur de chaque élément de la liste a
    Donc i va prendre les valeurs 2 puis "nico", ..., jusqu'à -5.


    Conseil important: Pour bien comprendre que l'on parcourt la liste avec les éléments et pas avec les indices, au lieu d'écrire:

    for i in a:
      print(i)

    il vaut bien mieux écrire:

    for element in a:
      print(element)

    Cela permet de beaucoup mieux comprendre le code.

Python: Liste en compréhension

Les listes en compréhension
sont une technique très efficace
pour créer des listes avec un code python très court!

  1. [x**2 for x in range(1,6)]
    Crée la liste des carrés avec $x$ entier qui varie entre 1 et 6 exclu!
    Ne pas oublier que:
    • a**b signifie en python $a^b$
    • avec range(a,b), b est exclu!


    [x**2 for x in range(1,6)] va crée la liste:
    [1,4,9,16,25]
  2. Avec une condition
    [x**2 for x in range(0,11) if x**2$\gt$10 and x**2$\lt 50$]
    Crée la liste des carrés avec $x$ entier qui varie entre 0 et 11 exclu!
    avec $x^2>10$ et $x^2\lt 50$
    Ne pas oublier qu'avec range(a,b)
    b est exclu!


    [x**2 for x in range(0,11) if x**2$\gt$10 and x**2$\lt 50$]
    va crée la liste:
    [16,25,36,49]
  3. Filtrer une liste
    Les liste en compréhension
    sont un moyen très efficace pour filtrer une liste!

    a=[2,15,3,7,11,18,1,20,7]
    b=[x for x in a if x$\gt$5]
    Crée la liste b composée des éléments de a qui sont supérieurs à 5!
    On a filtrer la liste a
    en ne gardant que les éléments de a qui sont supérieurs à 5!
    Et on a mis le résultat dans la liste b.


    a=[2,15,3,7,11,18,1,20,7]
    b=[x for x in a if x$\gt$5]
    va crée la liste b:
    [15,7,11,18,20,7]
Exercice 1: Python - Calculer la moyenne d'une liste :
Écrire un programme en Python pour calculer la moyenne d'une liste de nombres.
Exercice 2: Python - Calculer la moyenne pondérée d'une liste
Écrire un programme en Python pour calculer la moyenne pondérée d'une liste de nombres.
Exercice 3: Python - Maximum d'une liste - Minimum et étendue
Écrire un programme en python trouver le maximum d'une liste de nombres puis le minimum et l'étendue.
Exercice 4: Python - Ne garder que les notes supérieures à 10 - Filtrer une liste
Créer une liste de nombres qui correspondent aux notes des élèves d'une classe. Puis écrire un programme en Python qui à partir de cette liste, crée une nouvelle liste qui contient uniquement les notes supérieures ou égales à $10$.
Exercice 5: Python - Mélanger une liste
Un professeur souhaite interroger ses élèves dans un ordre aléatoire. Créer une liste d'élèves puis écrire un programme en Python qui mélange cette liste aléatoirement (sans utiliser shuffle).
Exercice 6: Python - Partager une liste en 2 sous-listes de même taille
Un professeur de sports souhaite constituer aléatoirement 2 équipes de même taille. Créer une liste d'élèves dont le nombre est pair. Puis écrire un programme en Python qui réponde au problème (sans utiliser shuffle).
Exercice 7: Python liste - Triangle de Pascal
Écrire un programme en python qui calcule pour un entier $n$ donné les coefficients binomiaux ${n\choose k}$ à l'aide de la relation de Pascal.
👉 Mon programme ne marche pas ! Comment faire?




Ce site vous a été utile? Ce site vous a été utile
alors dites-le !


Merci à vous.
Contact

N'hesitez pas à envoyer un mail à:
jaicompris.com@gmail.com

Liens
Qui sommes-nous? Nicolas Halpern-Herla
Agrégé de Mathématiques
Professeur en S, ES, STI et STMG depuis 28 ans
Créateur de jeux de stratégie: Agora et Chifoumi

Stephane Chenevière
Agrégé de Mathématiques
Professeur en S, ES et STMG depuis 19 ans
Champion de France de magie en 2001: Magie