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.
range(n)
permet de parcourir les entiers de \(0\) à \(n-1\).range(n, m)
permet de parcourir les entiers de \(n\) à \(m-1\).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]