Les listes sont dynamiques : on peut les construire de façon progressive
Les listes sont dynamiques : on peut les construire de façon progressive
["alice", "bob", "charlie"].append("daniel") # → ["alice", "bob", "charlie", "daniel"]
["alice", "bob", "charlie"] + ["daniel", "elise"] # → ["alice", "bob", "charlie", "daniel", "elise"]
Ceci ne vous rappelle rien ? Souvenez-vous la leçon sur le texte, on avait vu qu’on pouvait faire des “calculs”. En fait, les chaînes de caractères str marchent à peu près comme les listes :
"al" + "ice" == "alice" # <-- True
["a", "l"] + ["i", "c", "e"] == ["a", "l", "i", "c", "e"] # <-- True
Ce n’est pas un hasard, comme le mot chaîne (dans chaîne de caractères) le suggère 😉 Du texte, c’est comme une liste de caractères. Du coup tout, par analogie, on peut aussi faire ceci :
# Devinez ce qui va se passer
print(["a", "l", "i", "c", "e"][3])
print("alice"[3])
Dernier détail : quand on récupère un élément d’une liste/d’un texte, on peut en fait en récupérer toute une tranche d’un coup. On appelle ça le slicing (”tranchage”). Par exemple, si "abcde"[2] = "c"
, alors "abcde"[2:4] = "cd"
(la tranche commence à [2]
et s’arrête juste avant [4]
). Faites des essais !