Opérations sur les tuples
Voyons désormais diverses opérations utiles pour les tuples. Nous avons déjà vu la concaténation dans le cours sur la modification.
Répétition de tuples
Comme la concaténation utilise le symbole « +
», il peut être intéressant de se demander si les autres opérateurs fonctionnent aussi avec les tuples.
Spoiler alert : Seule la multiplication avec un entier fonctionne : <tuple> * <int>
Méthode : Méthode
Lorsqu'on multiiplie un tuple par un entier, Python va créer un nouveau tuple en ajoutant tous les éléments du premier tuple autant de fois que l'entier donné.
>>> t = (4, 1, 8)
>>> u = t * 3
>>> print(u)
(4, 1, 8, 4, 1, 8, 4, 1, 8)
>>> t = (4, 1, 8)
>>> u = t * 0
>>> print(u)
()
Existence d'un élément
Les tuples peuvent stocker des valeurs, et pour savoir si une valeur est dans un tuple, il existe deux méthodes :
Parcourir le tuple (cours) et vérifier un par un si l'élément parcouru est l'élément qui nous intéresse
Utiliser le mot clef « in »
Méthode : Méthode
En Python, le mot clef « in
» permet de vérifier si un élément appartient à un objet ou non.
Il s'utilise de la façon suivante : valeur in objet
. Cette instruction vaudra True
si objet
contient valeur
, False
sinon.
À l'inverse, on utilise valeur not in objet
pour vérifier qu'un élément n'est pas présent dans un objet.
t = (4, 1, 8)
print(4 in t) # Affiche True
print(7 in t) # Affiche False
if 4 in t:
print("Le tuple contient 4")
else:
print("Le tuple ne contient pas 4")
Fonctions & Méthodes
Il existe diverses fonctions en Python qui utilisent les tuples. On connait déjà len()
pour récupérer le nombre d'éléments d'un tuple.
Remarque : Méthodes
Une méthode en Python, c'est une fonction qui s'applique à un objet, avec une syntaxe différente :
Fonction :
maFonction(valeur)
Méthode :
valeur.maMéthode()
Nous verrons en détail comment créer des méthodes en classe de terminale. Vous devez toutefois savoir déjà utiliser les méthodes.
Méthode : Deux méthodes pour les tuples
Il existe deux méthodes qui s'appliquent à un tuple :..
count()
: Renvoie le nombre d'occurences d'un élément dans un tuple.index()
: Renvoie l'indice d'un élément dans un tuple.
t = (2, 5, 2, 3, 1, 7, 2)
print(t.count(2)) # Affiche 3
print(t.index(7)) # Affiche 5