Listes

De façon plus précise, nous pouvons définir une séquence comme un ensemble fini et ordonné d'éléments.

Il existe deux types de séquences en Python : les tuples et les listes.

Tuple

Liste

Les listes

Les listes ont plusieurs propriétés :

  • les éléments de la liste sont placés entre crochets: [val1, val2, val3]
  • les listes sont ordonnées, chaque élément est associé à un indice
  • les listes sont modifiables
  • les éléments d'une liste peuvent être de types différents: on peut combiner chaînes de caractères, entiers, objets, dans la même liste

Les listes, comme les tuples, sont des séquences. Ils se manipulent donc de la même façon. On peut toutefois ajouter deux éléments liés au caractère mutable des listes : il est possible de supprimer ou ajouter des éléments à un liste, mais également de modifier des éléments directement.

ma_liste = [14, "poisson", 42, True]

print(type(ma_liste), ":", ma_liste)
print(type(ma_liste[0]), ":", ma_liste[0])
print(type(ma_liste[1]), ":", ma_liste[1])
print(type(ma_liste[2]), ":", ma_liste[2])
print(type(ma_liste[3]), ":", ma_liste[3])

# modifier un élément
ma_liste[1] = "grenouille"
print(ma_liste)

# ajouter un élément
ma_liste.append(1988)
print(ma_liste)

# supprimer un élément
del ma_liste[4]
print(ma_liste)

# longueur d'une liste
print("Il y a", len(ma_liste), "éléments dans la liste")
  • l'instruction del permet de supprimer un élément d'un liste
  • la fonction ma_liste.append() permet d'ajouter un élément à la fin d'un liste
  • la fonction len() permet d'obtenir la longueur d'un tuple ou d'une liste
  • on peut modifier un liste : liste[2] = "maison"
  • les opérations sur les tuples sont légèrement plus rapides : si vous savez que vous n'aurez pas besoin de modifier votre séquence, préférez le tuple au liste

Parcourir une séquence : boucle for

Nous avons rapidement vu le mot-clé for, et notamment son utilisation en combinaison avec la fonction range(). Ainsi, nous avons pu réaliser des itérations sur un nombre défini d'éléments.

L'instruction for permet également de parcourir des séquences : typiquement, des tuples ou des listes ! La structure est identique à l'utilisation de range(), et voici un exemple :

# création d'un liste, cela fonctionne de la même façon avec un tuple
nombres_premiers = [1, 3, 5, 7, 11, 13, 17]

for nb in nombres_premiers:
  print(nb, "est un nombre premier.")