10.1 Tuple et ses propriétés
Les tuples font partie des quatre types de collections intégrés en Python.
Comme tu le sais déjà, en Python, il existe plusieurs types de données intégrés qui permettent de stocker des groupes d'objets. Ce sont list — liste, tuple — tuple, set — ensemble, dictionary — dictionnaire. Aujourd'hui, on va explorer le second et l'un des plus simples d'entre eux — le tuple.
Un tuple (tuple) permet de stocker plusieurs éléments. Chaque élément a son propre numéro d'ordre, ce qui rend le tuple ordonné — ordered. En cela, il ressemble à une liste.
On ne peut pas modifier un tuple — une fois créé, il reste immuable, ce qui le rend parfait pour stocker des données qui ne doivent pas changer dans le programme. C'est pourquoi sa deuxième caractéristique est l'immuabilité (immutable).
Quant aux doublons — dans un tuple, on peut stocker des éléments identiques plusieurs fois — allow duplicates. Encore une fois, cela ressemble beaucoup à une liste.
Utile. On peut penser à un tuple comme à une liste immuable qui utilise des parenthèses rondes () au lieu de crochets [].
10.2 Création d'un tuple
Les tuples sont des séquences immuables d'éléments qui peuvent être créés de différentes manières. Voici les méthodes les plus courantes :
Déclaration directe :
Tu peux créer des tuples directement en utilisant des parenthèses () et des virgules pour séparer les éléments.
tuple1 = (1, 2, 3)
tuple2 = ("apple", "banana", "cherry", "apple", "cherry")
tuple3 = (1, "apple", True)
Sans parenthèses :
Python permet de créer des tuples sans utiliser de parenthèses, simplement en séparant les éléments par des virgules.
tuple1 = 1, 2, 3
tuple2 = "apple", "banana", "cherry", "apple", "cherry"
tuple3 = 1, "apple", True
Tuple à un seul élément :
Pour créer un tuple avec un seul élément il faut mettre une virgule après cet élément.
tuple1 = (1,)
tuple2 = ("apple",)
tuple3 = (True,)
Utilisation de tuple():
La fonction tuple() convertit un objet itérable en un tuple. Cela peut être une liste, une chaîne de caractères ou tout autre objet itérable.
list_to_tuple = tuple([1, 2, 3])
10.3 Décomposition des éléments d'un tuple
Lorsque tu travailles avec des tuples, tu peux empaqueter plusieurs éléments dans un seul tuple ou décomposer un tuple en plusieurs variables, ce qui simplifie le code :
Décomposition basique
Exemple de décomposition d'un tuple en variables :
my_tuple = (1, 2, 3)
x, y, z = my_tuple
Dans cet exemple, les variables x, y et z obtiennent respectivement les valeurs 1, 2 et 3.
Décomposition avancée
Python prend également en charge la décomposition avancée, qui permet d'extraire des parties d'un tuple dans une liste, en utilisant le symbole * :
a, *b, c = (1, 2, 3, 4, 5) # a = 1, b = [2, 3, 4], c = 5
Dans cet exemple, a et c obtiennent les première et dernière valeurs, et b devient une liste avec toutes les autres valeurs.
Utilisation dans les fonctions
La décomposition des tuples est souvent utilisée lors de la transmission de paramètres aux fonctions. C'est particulièrement pratique lorsque la fonction accepte un nombre variable d'arguments ou lorsque les arguments sont préalablement emballés dans des tuples ou des listes :
def func(a, b, c):
print(a, b, c)
values = (1, 2, 3)
func(*values)
Caractéristiques de l'utilisation
La décomposition des tuples nécessite une correspondance exacte entre le nombre d'éléments du tuple et le nombre de variables auxquelles ils sont attribués, sinon une erreur est générée. Cependant, l'utilisation de * pour collecter les éléments supplémentaires permet d'éviter cette erreur, rendant le code plus flexible face aux changements de données.
10.4 Liste des méthodes
Les tuples sont des objets immuables, ils ont donc presque pas de méthodes. Seulement deux 😊
La fonction count(x):
Renvoie le nombre de fois que x apparaît dans le tuple. Cela est utile pour compter le nombre d'éléments spécifiques.
t = (1, 2, 3, 2, 4, 2)
print(t.count(2)) # Affichera 3
La fonction index(x):
Renvoie l'index de la première occurrence de l'élément x dans le tuple. Si l'élément n'est pas trouvé, une exception ValueError est levée.
t = (1, 2, 3, 2, 4, 2)
print(t.index(3)) # Affichera 2
Bien que ce soient toutes les méthodes de la classe tuple, cela ne signifie pas qu'on ne peut rien faire avec. On peut, mais ce sera un peu plus compliqué.
GO TO FULL VERSION