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 de tuples.
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>
Répétition de tuples
Lorsqu'on multiplie 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 et vérifier un par un si l'élément parcouru est l'élément qui nous intéresse
- Utiliser le mot clef
in
Existence d'un élément
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.
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.
Deux méthodes pour les tuples
Il existe deux méthodes qui s'appliquent à un tuple :
count(): Renvoie le nombre d'occurrences 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