Listes¶
Définition¶
Une liste est une suite ordonnée d’éléments.
Créer une liste¶
Avec des crochets: [
, ]
, et les éléments séparés par des virgules:
liste_vide = []
trois_entiers = [1, 2, 3]
Listes hétérogènes¶
On peut mettre des types différents dans la même liste:
ma_liste = [True, 2, "trois"]
On peut aussi mettre des listes dans des listes:
liste_de_listes = [[1, 2], ["Germaine", "Gertrude"]]
Connaître la taille d’une liste¶
Avec len()
- encore une fonction native:
liste_vide = []
taille = len(liste_vide)
print(taille)
# affiche: 0
trois_entiers = [1, 2, 3]
taille = len(trois_entiers)
print(taille)
# affiche: 3
Concaténation de listes¶
Avec +
:
prénoms = ["Alice", "Bob"]
prénoms += ["Charlie", "Eve"]
print(prénoms)
# affiche: ['Alice', 'Bob', "Charlie", 'Eve']
On ne peut concaténer des listes que avec d’autres listes:
scores = [1, 2, 3]
scores += 4
# erreur
scores += [4]
print(scores)
# affiche: [1,2,3,4]
Test d’appartenance¶
Avec in
:
prénoms = ["Alice", "Bob"]
print("Alice" in prénoms)
# affiche: True
prénoms = ["Alice", "Bob"]
print("Charlie" in prénoms)
# affiche: False
Itérer sur les éléments d’une liste¶
Avec les mots-clés for
et `` in``:
prénoms = ["Alice", "Bob", "Charlie"]
for prénom in prénoms:
# Chaque élément de la liste est assigné tour à tour
# à la variable 'prénom"
print("Bonjour", prénom)
Bonjour Alice
Bonjour Bob
Bonjour Charlie
Continue¶
On peut interrompre l’exécution du bloc courant avec le mot-clé
continue
:
prénoms = ["Alice", "Bob", "Charlie"]
for prénom in prénoms:
if prénom == "Bob":
continue
print("Bonjour", prénom)
Bonjour Alice
Bonjour Charlie
Indéxer une liste¶
Avec
[]
et un entierLes index valides vont de 0 à
n-1
oùn
est la taille de la liste:fruits = ["pomme", "orange", "poire"] print(fruits[0]) # affiche: "pomme" print(fruits[1]) # affiche: "orange" print(list[2]) # affiche: "poire" fruits[3] # erreur: IndexError
Modifier une liste¶
Encore une assignation:
fruits = ["pomme", "orange", "poire"]
fruits[0] = "abricot"
print(fruits)
# affiche: ["abricot", "orange", "poire"]
Les strings sont aussi des listes (presque)¶
On peut itérer sur les caractères d’une string:
for c in "vache":
print(c)
On peut tester si un caractère est présent:
print("e" in "vache")
# affiche: True
print(x" in "vache")
# affiche: False
Mais on ne peut pas modifier une string:
prénom = "Charlotte"
l = prénom[0]
print(l)
# affiche: "C"
l = prénom[3]
print(l)
# affiche: "r"
prénom[0] = "X"
# erreur: TypeError
Falsy et truthy¶
En réalité on peut mettre autre chose qu’une comparaison ou une variable booléenne après le if.
Si on met une liste vide, if
se comportera comme si on avait mis une valeur fausse, et si
la liste n’est pas vide , if
se comportera comme si on avait mis une valeur vraie.:
ma_liste = [1, 2, 3]
if ma_liste:
print("ma_liste n'est pas vide")
# affiche: ma_liste n'est pas vide
mon_autre_liste = []
if not mon_autre_liste:
print("mon_autre_liste est vide")
# affiche: mon_autre_liste est vide
On dit que les listes vides sont Falsy et les listes non-vides Truthy