Aller au contenu principal
Première⏱ 4 séances

Algorithmique et programmation : les listes en Python

Ce que tu vas apprendre

  • Créer une liste en extension, par ajouts successifs avec append, ou en compréhension
  • Accéder à un élément par son indice, modifier un élément, connaître la longueur d'une liste
  • Ajouter et supprimer des éléments
  • Parcourir une liste par ses éléments ou par ses indices
  • Écrire des fonctions qui calculent une somme, une moyenne, un maximum ou un effectif
  • Utiliser les listes pour les suites, les statistiques et les simulations
Notions clésliste, élément, indicelen, L[i], L[-1]append, pop, removeliste en compréhensionparcours d'une liste (for x in L, for i in range(len(L)))

Ce que tu sais déjà. Tu connais les variables, les types (entier, flottant, booléen, chaîne), les conditions, les boucles for et while et les fonctions (Seconde — Python). Tu as déjà croisé des listes dans ce niveau : liste des premiers termes d’une suite (Première — Suites), valeurs et probabilités d’une loi (Première — Variables aléatoires). Ce chapitre les étudie pour elles-mêmes.

1. Créer une liste et accéder à ses éléments

Définition. Une liste est une suite ordonnée de valeurs, écrite entre crochets et séparées par des virgules. On peut la créer en extension, en écrivant tous ses éléments :

notes = [12, 15, 9, 17, 11]
vide = []            # une liste vide
print(len(notes))    # affiche 5 : la longueur (nombre d'éléments)

Indices. Chaque élément a une position, son indice, qui commence à 0. notes[0] est le premier élément, notes[4] le dernier. Les indices négatifs comptent à partir de la fin : notes[-1] est le dernier élément.

AAAWgmp1bWIAAAAeanVtZGMycGEAEQAQgAAAqgA4m3EDYzJwYQAAABZcanVtYgAAAEdqdW1kYzJtYQARABCAAACqADibcQN1cm46YzJwYTpmZDkxMjViYS00YzNmLTQ0OGEtOGIwNC00MzU3NmFhMzZkYTAAAAADl2p1bWIAAAApanVtZGMyYXMAEQAQgAAAqgA4m3EDYzJwYS5hc3NlcnRpb25zAAAAALxqdW1iAAAARGp1bWRjYm9yABEAEIAAAKoAOJtxE2MycGEuaW5ncmVkaWVudC52MwAAAAAYYzJzaMCIUSiQPfbg4Ehs9ooGNRgAAABwY2JvcqNpZGM6Zm9ybWF0bWltYWdlL3N2Zyt4bWxqaW5zdGFuY2VJRHgseG1wOmlpZDo1YWE1MzIxYy0yNDJhLTQ4NjYtYjQwMC0zOWMxYTQ4Y2JlMDhscmVsYXRpb25zaGlwaHBhcmVudE9mAAAB4mp1bWIAAABBanVtZGNib3IAEQAQgAAAqgA4m3ETYzJwYS5hY3Rpb25zLnYyAAAAABhjMnNovoKivjRuS3LZbe+f8vTKEgAAAZljYm9yomdhY3Rpb25zgqJmYWN0aW9ua2MycGEub3BlbmVkanBhcmFtZXRlcnOha2luZ3JlZGllbnRzgaJjdXJseC1zZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmluZ3JlZGllbnQudjNkaGFzaFgg9LBrZuRd31mNmcPYRsDgbee8YQyy6toEB6o4tuum7RykZmFjdGlvbngdY29tLmFudGhyb3BpYy5jbGF1ZGUucHJvdmlkZWRqcGFyYW1ldGVyc6F4H2NvbS5hbnRocm9waWMub3JpZ2luLWNvbmZpZGVuY2VndW5rbm93bmtkZXNjcmlwdGlvbnhmQ2xhdWRlIHByb3ZpZGVkIHRoaXMgZmlsZSBhdCB0aGUgcmVxdWVzdCBvZiBhIHVzZXIgYW5kIG1heSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgdGhlIGZpbGUgY29udGVudHMubXNvZnR3YXJlQWdlbnShZG5hbWVmQ2xhdWRlcmFsbEFjdGlvbnNJbmNsdWRlZPUAAADIanVtYgAAAEBqdW1kY2JvcgARABCAAACqADibcRNjMnBhLmhhc2guZGF0YQAAAAAYYzJzaN+9Pqz5UeFgsafeIbyhc+MAAACAY2JvcqVjYWxnZnNoYTI1NmNwYWRNAAAAAAAAAAAAAAAAAGRoYXNoWCC5fLg2vWXjx7ZgSb5pdV/t389WeO15sYpJCI69TYhOA2RuYW1lbmp1bWJmIG1hbmlmZXN0amV4Y2x1c2lvbnOBomVzdGFydBh9Zmxlbmd0aBkeBAAAAj5qdW1iAAAAJ2p1bWRjMmNsABEAEIAAAKoAOJtxA2MycGEuY2xhaW0udjIAAAACD2Nib3KlY2FsZ2ZzaGEyNTZpc2lnbmF0dXJleE1zZWxmI2p1bWJmPS9jMnBhL3VybjpjMnBhOmZkOTEyNWJhLTRjM2YtNDQ4YS04YjA0LTQzNTc2YWEzNmRhMC9jMnBhLnNpZ25hdHVyZWppbnN0YW5jZUlEeCx4bXA6aWlkOjliNDcwNTI2LTJkM2YtNDMxNS05NjQxLTM4ZjhmYzcyZTdkOHJjcmVhdGVkX2Fzc2VydGlvbnODomN1cmx4LXNlbGYjanVtYmY9YzJwYS5hc3NlcnRpb25zL2MycGEuaW5ncmVkaWVudC52M2RoYXNoWCD0sGtm5F3fWY2Zw9hGwOBt57xhDLLq2gQHqji266btHKJjdXJseCpzZWxmI2p1bWJmPWMycGEuYXNzZXJ0aW9ucy9jMnBhLmFjdGlvbnMudjJkaGFzaFggaUtv1ts1sLL/vkx48JczCgZJYc9pg2HDG0OcBJVbjW+iY3VybHgpc2VsZiNqdW1iZj1jMnBhLmFzc2VydGlvbnMvYzJwYS5oYXNoLmRhdGFkaGFzaFggrOW5r6vlscND+/bXoGS087M3t1QqEXB4kQsqaq4XPE50Y2xhaW1fZ2VuZXJhdG9yX2luZm+jZG5hbWVvQW50aHJvcGljIEZpbGVzZ3ZlcnNpb25lMS4wLjBrc3BlY1ZlcnNpb25lMi40LjAAABA4anVtYgAAAChqdW1kYzJjcwARABCAAACqADibcQNjMnBhLnNpZ25hdHVyZQAAABAIY2JvctKEWQISogEmGCFZAgowggIGMIIBjaADAgECAhRA5aAK7sI50L64g/oGQgU9Z1UTADAKBggqhkjOPQQDAzBJMRcwFQYDVQQKEw5BbnRocm9waWMsIFBCQzEuMCwGA1UEAxMlQW50aHJvcGljIENvbnRlbnQgQ3JlZGVudGlhbHMgUm9vdCBDQTAeFw0yNjA4MDcxODQzNTZaFw0yODA4MDYxOTQzNTZaMEQxFzAVBgNVBAoTDkFudGhyb3BpYywgUEJDMSkwJwYDVQQDEyBBbnRocm9waWMgQ2xhdWRlIENvbnRlbnQgU2lnbmluZzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABJh6CmvLUBgFFNU0vUKlOVtE6djd17L5SuwX0LemFisBM3dkd/3cyjxFA3Qo5S46fX0/ihY0VZ7mfb9KF703t5OjWDBWMA4GA1UdDwEB/wQEAwIHgDAVBgNVHSUEDjAMBgorBgEEAYPoXgIBMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAUzlHiBIFOZFsj+OPEz5o+nMHXXMIwCgYIKoZIzj0EAwMDZwAwZAIwMXMdFJ4BetLLVY7ORuE9noqbbAZOZn/aArXyTwFAZfKrPzxF2vPoJNf1+UCdg1XGAjBwX1zd9WGqYkqmL5SFqw1QySjr1zJfpJM9+1rdDwSPLMOPOjKuiXjoU/pUUeG9RwmhY3BhZFkNngAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPZYQCIAmDrFbhDh2O61PR9zVDj3Oai2KXUjrsBtGcPtvLZMEK0wRV7EoraSPWrf8xtEjvUoKYWDB6RIbfG7zMNYUBA= notes = [12, 15, 9, 17, 11] indice valeur indice négatif 12 0 −5 15 1 −4 9 2 −3 17 3 −2 11 4 −1 len(notes) = 5 : indices de 0 à 4, ou de −5 à −1
La liste notes et ses indices : de 0 à len(notes) − 1 en partant du début, de −1 à −len(notes) en partant de la fin.
print(notes[0], notes[2], notes[-1])   # affiche 12 9 11
notes[2] = 10                           # on remplace le 3e élément
print(notes)                            # affiche [12, 15, 10, 17, 11]

Piège classique. notes[5] provoque une erreur IndexError : pour une liste de longueur 55, le dernier indice est 44, pas 55.

→ S’entraîner : Exercice 1

2. Ajouter et supprimer des éléments

InstructionEffet
L.append(x)ajoute x à la fin de L
L.pop()supprime le dernier élément (et le renvoie)
L.pop(i)supprime l’élément d’indice i (et le renvoie)
L.remove(x)supprime la première occurrence de la valeur x
L + Mnouvelle liste formée de L suivie de M
[0] * nnouvelle liste formée de n zéros (utile pour un tableau de comptage)
L = [4, 7, 1]
L.append(9)      # L vaut [4, 7, 1, 9]
L.pop(0)         # L vaut [7, 1, 9]
L.remove(1)      # L vaut [7, 9]
M = L + [0, 0]   # M vaut [7, 9, 0, 0]
print(L, M)      # affiche [7, 9] [7, 9, 0, 0]

Attention. append, pop et remove modifient la liste : on écrit L.append(9), pas L = L.append(9) (qui remplacerait L par la valeur spéciale None).

→ S’entraîner : Exercice 2

3. Générer une liste

Par ajouts successifs. On part d’une liste vide et on ajoute les éléments dans une boucle. C’est la méthode naturelle pour une suite définie par récurrence.

def termes(n):
    """Liste des termes u_0, ..., u_n de la suite u_0 = 1, u_(n+1) = 3 u_n - 1."""
    L = [1]
    for i in range(n):
        L.append(3 * L[-1] - 1)
    return L

print(termes(5))   # affiche [1, 2, 5, 14, 41, 122]

En compréhension. On décrit la liste par une formule, un peu comme en mathématiques ({n2∣n∈{0,…,9}}\{n^2 \mid n \in \{0, \dots, 9\}\}) :

carres = [n ** 2 for n in range(10)]
print(carres)      # affiche [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

pairs = [n for n in range(20) if n % 2 == 0]
print(pairs)       # affiche [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

La deuxième liste est construite avec une condition (un filtre) : on ne garde que les nn pairs.

Pour une suite définie explicitement, la compréhension est idéale : [5 - 2 * n for n in range(8)] donne les huit premiers termes de un=5−2nu_n = 5 - 2n.

→ S’entraîner : Exercice 3 · Exercice 4

4. Parcourir une liste

Deux façons de parcourir.

  • Par les éléments : for x in L: — la variable x prend successivement chaque valeur de L.
  • Par les indices : for i in range(len(L)): — la variable i prend les valeurs 0,1,…0, 1, \dots et on accède à l’élément par L[i]. Indispensable quand on a besoin de la position, ou de deux listes à la fois.
def somme(L):
    s = 0
    for x in L:
        s = s + x
    return s

def maximum(L):
    m = L[0]
    for x in L:
        if x > m:
            m = x
    return m

def moyenne_ponderee(valeurs, coefficients):
    total = 0
    for i in range(len(valeurs)):
        total = total + valeurs[i] * coefficients[i]
    return total / somme(coefficients)

notes = [12, 15, 10, 17, 11]
print(somme(notes), maximum(notes))                 # affiche 65 17
print(moyenne_ponderee([12, 8, 16], [1, 2, 3]))     # affiche 12.666666666666666

Remarque. Python fournit déjà sum(L), max(L), min(L) et L.count(x) ; les réécrire soi-même est un excellent entraînement à l’algorithmique, et c’est ce qui est demandé dans les exercices.

→ S’entraîner : Exercice 5 · Exercice 6

5. Les listes au service des mathématiques

Statistiques et simulation. On stocke les résultats d’une simulation dans une liste, puis on les analyse.

from random import randint

def frequences_de(n):
    """Lance n fois un dé et renvoie la liste des fréquences des faces 1 à 6."""
    effectifs = [0, 0, 0, 0, 0, 0]
    for k in range(n):
        face = randint(1, 6)
        effectifs[face - 1] = effectifs[face - 1] + 1
    return [e / n for e in effectifs]

print(frequences_de(6000))   # six valeurs proches de 1/6 ≈ 0,167

Ici la liste effectifs sert de tableau de comptage : l’effectif de la face ff est rangé à l’indice f−1f - 1.

Tableau de valeurs d’une fonction. xs = [k / 10 for k in range(11)] puis ys = [x ** 2 for x in xs] donnent les abscisses 0;0,1;… ;10 ; 0{,}1 ; \dots ; 1 et leurs images par x↦x2x \mapsto x^2 — c’est ainsi qu’on prépare le tracé d’une courbe.

→ S’entraîner : Exercice 7 · Exercice 8


À retenir.

  • L = [a, b, c] ; len(L) ; indices de 0 à len(L) - 1 ; L[-1] est le dernier élément.
  • L.append(x) (ajout en fin), L.pop(i), L.remove(x) modifient la liste.
  • Générer : boucle + append (récurrence) ou compréhension [f(n) for n in range(...) if condition].
  • Parcourir : for x in L (valeurs) ou for i in range(len(L)) (indices).