🐍 Cours de programmation Python 💻

🔡 Les listes

Une liste est une structure pouvant contenir plusieurs valeurs. Si une variable est une boîte, une liste peut être vue comme un conteneur pouvant contenir plusieurs boîtes. Python autorise les listes contenant plusieurs types de variables. Une liste se déclare avec les valeurs séparées par des virgules et encadrées par des crochets [ ].


nombres = [23, 5.5, 46]
chaines = ['Chien', 'Chat', 'Poule']

Les éléments d'une liste sont identifiés par leur indice (position). Il y a deux types de positionnement :


liste           = ['Chien', 'Chat', 'Rat', 'Coq']
indice positif   = 0      1      2     3
indice négatif   = -4     -3     -2    -1

Accès aux éléments :


liste = ['Chien', 'Chat', 'Rat', 'Coq']
liste[0]
# 'Chien'
liste[3]
# 'Coq'
liste[-1]
# 'Coq'

Si l'on tente d'accéder à un indice inexistant (ex: liste[4]), Python renverra une erreur IndexError.

Sous-listes (slicing) :


liste = ['Chien', 'Chat', 'Rat', 'Coq', 'Vache', 'Cochon']
liste[0:2]
# ['Chien', 'Chat']
liste[3:]
# ['Coq', 'Vache', 'Cochon']
liste[1:-1]
# ['Chat', 'Rat', 'Coq', 'Vache']

Remarque : dans liste[start:end], l'élément start est inclus mais end est exclu.

Créer rapidement des listes d'entiers avec range() :


list(range(10))
# [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(2, 6))
# [2, 3, 4, 5]
list(range(0, 500, 100))
# [0, 100, 200, 300, 400]

Syntaxe : range([début,] fin[, pas]), tous les arguments entre crochets sont optionnels.

Opérations sur les listes

Comme les chaînes de caractères, les listes supportent :


liste1 = ['Chien', 'Chat', 'Rat', 'Coq']
liste2 = ['Vache', 'Cochon']

liste1 + liste2
# ['Chien', 'Chat', 'Rat', 'Coq', 'Vache', 'Cochon']
liste2 * 3
# ['Vache', 'Cochon', 'Vache', 'Cochon', 'Vache', 'Cochon']

Pour connaître la taille d'une liste : len()


liste1 = ['Chien', 'Chat', 'Rat', 'Coq']
len(liste1)
# 4
len(range(10))
# 10

Listes de listes (tableaux)


enclos1 = ['Girafe', 4]
enclos2 = ['Singe', 10]
enclos3 = ['Lion', 6]

zoo = [enclos1, enclos2, enclos3]
zoo
# [['Girafe', 4], ['Singe', 10], ['Lion', 6]]

zoo[1]
# ['Singe', 10]
zoo[2][0]
# 'Lion'
zoo[0][1]
# 4

Chaînes de caractères → listes

On peut créer une liste à partir d'une chaîne de caractères :


a = "Bonjour, comment allez-vous?"
b = a.split(" ")  # Création d'une liste où la séparation se fait à l'aide des espaces
b = ["Bonjour,", "comment", "allez-vous?"]