4.3. Les listes#

Definition 4.3

Une liste Python est un tableau de valeur qu’on peut modifier et étendre. Il contient des données de type varié.

ma_liste = [1, 2, 3, 'zero']
liste_vide = []
type(ma_liste)
list
type(liste_vide)
list

4.3.1. Listes en compréhension#

Il est souvent nécessaire de produire des listes en utilisant une expression

Ainsi, on peut considérer les listes définies en compréhension suivantes.

[i for i in range(10)]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[chr(c + ord('A')) for c in range(26)]
['A',
 'B',
 'C',
 'D',
 'E',
 'F',
 'G',
 'H',
 'I',
 'J',
 'K',
 'L',
 'M',
 'N',
 'O',
 'P',
 'Q',
 'R',
 'S',
 'T',
 'U',
 'V',
 'W',
 'X',
 'Y',
 'Z']

Ces compréhensions peuvent être utilisés comme valeur de retour d’une fonction.

IP = [192,168,0,24]

def IP_bin(IP: list) -> list:
    assert len(IP) == 4, f"{IP} ne contient pas 4 octets"
    assert verifie_syntaxe(IP), f"{IP} contient au moins un nombre qui n’est pas sur un octet"
    return [dec_bin(octet) for octet in IP]

IP_bin(IP)
['0b11000000', '0b10101000', '0b0', '0b11000']

4.3.2. Modification d’une liste#

On a vu qu’il est possible de modifier le contenu d’une liste. Par exemple, l’instruction

x = [1, 2, 3, 4]
x[1] = -1
x
[1, -1, 3, 4]

va créer une liste x, puis modifier le contenu de l’élément d’indice 1 de la liste.

Dans le cas où l’on souhaite ajouter des éléments en fin de liste, on peut utiliser la méthode .append

x.append(5)
x
[1, -1, 3, 4, 5]

Dans le cas où l’on souhaite retirer des éléments en fin de liste, on peut utiliser la méthode .pop

x.pop()
x
[1, -1, 3, 4]

4.3.3. Accès à une sous-liste#

On rappelle que la fonction range() peut prendre 1, 2, ou 3 arguments.

  1. range(n) permet de parcourir les entiers de \(0\) à \(n-1\).

  2. range(n, m) permet de parcourir les entiers de \(n\) à \(m-1\).

  3. range(n, m, p) permet de parcourir les entiers \(n\), \(n + 2p\), \(n + 3p\) et ce tant que \(n + kp <m \)

chiffres = [i for i in range(10)]
chiffres[3]
3
chiffres[3:7]
[3, 4, 5, 6]
chiffres[3:7:2]
[3, 5]
chiffres[3:]
[3, 4, 5, 6, 7, 8, 9]
chiffres[:3]
[0, 1, 2]
chiffres[7:3:-1]
[7, 6, 5, 4]
chiffres[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]