Une liste, comme son nom l’indique, est une collection d’éléments.
Plus longue à écrire que la chaîne de caractères mais elle offre plus d’avantages. En particulier, on peut mettre à l’intérieur d’une même liste des caractères, du texte et des nombres. On parle alors de liste hétérogène.
Exemple : notre première liste
# notre première liste : des jeux sur Nintendo NES
liste_jeux = ["Super Mario Bros","Legend of Zelda","Donkey Kong","Castlevania"]
On peut afficher chacun de ces éléments en précisant sa position (on dit sa clé ou son indice), ou plusieurs éléments de cette liste, en précisant l’indice de départ (inclus) et l’indice d’arrivée (non inclus). C’est la même chose que ce que nous avons vu avant avec les chaînes de caractères.
ATTENTION : le premier n’est pas en position 1 mais en position 0 ! liste_jeux[0] correspond à Super Mario Bros
print(liste_jeux) # affiche toute la liste
print(liste_jeux[1] # affiche le deuxième élément de la liste
print(liste_jeux[1:3]) # affiche du 2ème au 4ème élément
print(liste_jeux[:1]) # jusqu’au deuxième
print(liste_jeux[1:]) # à partir du 2ème
Pour afficher toute une liste, on utilise une boucle :
for element in liste_jeux:
print(element)
liste_jeux.append("Tetris")
print(liste_jeux)
liste_jeux.insert(2, "Tetris")
print(liste_jeux)
del liste_jeux[2]
print(liste_jeux)
liste_jeux.remove("Donkey Kong")
print(liste_jeux)
print(len(liste_jeux))
liste_PC = ["Another world (PC)", "Flashback (PC)"]
liste_jeux.extend(liste_PC)
print(liste_jeux)
On ajoute cette nouvelle liste à notre liste précédente.
if "Tetris" in liste_jeux:
print("OK")
print(liste_jeux.index("Tetris"))
Anecdotique mais peut être utile dans certains programmes.
liste_jeux.reverse()
print(liste_jeux)
liste2 = ["d","g","a","z","m"]
print(sorted(liste2))
print(liste2) # la liste n’a pas été modifiée
liste2.sort()
print(liste2) # la liste est modifiée
Dans cet exemple, on trie des lettres pour qu’elles soient dans l’ordre croissant. On peut le faire aussi avec des nombres.