+++ title = “Listes” weight = 1 +++
// TODO: split in pages
Une liste est une suite ordonée d'éléments.
Avec []
, et les élements séparés par des virgules:
liste_vide = []
trois_entiers = [1, 2, 3]
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"]]
Avec len()
- encore une fonction native
>>> liste_vide = []
>>> len(liste_vide)
0
>>> trois_entiers = [1, 2, 3]
>>> len(trois_entiers)
3
Avec +
>>> prénoms = ["Alice", "Bob"]
>>> prénoms += ["Charlie", "Eve"]
>>> prénoms
['Alice', 'Bob', "Charlie", 'Eve']
On ne peut concaténer des listes que avec d’autres listes:
>>> scores = [1, 2, 3]
>>> scores += 4 # TypeError
>>> scores += [4] # OK
Avec in
:
>>> prénoms = ["Alice", "Bob"]
>>> "Alice" in prénoms
True
>>> prénoms = ["Alice", "Bob"]
>>> "Charlie" in prénoms
False
Avec for ... in
prénoms = ["Alice", "Bob", "Charlie"]
for prénom in prénoms:
# La variable 'prénom" est assignée à chaque
# élément de la liste
print("Bonjour", prénom)
Bonjour Alice
Bonjour Bob
Bonjour Charlie
Avec []
et un entier
Les index valides vont de 0 à n-1
où n
est la
taille de la liste.
>>> fruits = ["pomme", "orange", "poire"]
>>> fruits[0]
"pomme"
>>> fruits[1]
"orange"
>>> list[2]
"poire"
>>> fruits[3] # IndexError
Encore une assignation:
>>> fruits = ["pomme", "orange", "poire"]
>>> fruits[0] = "abricot"
>>> fruits
["abricot", "orange", "poire"]
On peut itérer sur les caractères d’une string:
for c in "vache":
print(c)
v
a
c
h
e
On peut tester si un caractère est présent:
>>> "e" in "vache"
True
>>> "x" in "vache"
False
Mais on neut peut pas modifier une string
>>> prénom = "Charlotte"
>>> prénom[0]
"C"
>>> prénom[3]
"r"
>>> prénom[0] = "X" # TypeError