Comment créer et utiliser des tuples en Python
Un tuple est une collection d'objets Python immuables. Il peut contenir des éléments de tout type de données arbitraire (entier, chaîne, flottant, liste, etc.), ce qui en fait une structure de données flexible et puissante. Il fait partie du langage de base Python et est largement utilisé dans les programmes et projets Python.
Créer un tuple
Un tuple en Python peut être créé en plaçant tous les éléments séparés par des virgules entre parenthèses () .
t1 = (1, 2, 3, 4)
t2 = ("Make", "Use", "Of")
t3 = (1.2, 5.9, 5.4, 9.3)
Les éléments du tuple sont immuables et ordonnés. Il permet des valeurs en double et peut avoir n'importe quel nombre d'éléments. Vous pouvez même créer un tuple vide. Les éléments d'un tuple peuvent être de n'importe quel type de données (entier, flottant, chaînes, tuple, etc.).
Créer un tuple vide
Un tuple vide peut être créé en utilisant des parenthèses d'ouverture et de fermeture vides.
emptyTuple = ()
Créer un tuple avec un seul élément
Pour créer un tuple avec un seul élément, vous devez ajouter une virgule après l'élément pour le faire reconnaître comme un tuple par Python.
# t1 is a tuple
t1 = ( 3.14, )
print( type(t1) )
# prints
<class 'tuple'>
# t2 is not a tuple
t2 = ( 3.14 )
print( type(t2) )
# prints
<class 'float'>
Remarque: type () Function renvoie le type de classe de l'objet passé en paramètre.
En n'utilisant pas de virgule après l'élément, le type de classe t2 est 'float', il est donc obligatoire d'utiliser une virgule après l'élément lors de la création d'un tuple avec une seule valeur.
Création d'un tuple avec différents types de données
Les éléments du tuple peuvent être de n'importe quel type de données. Cette fonctionnalité rend le tuple polyvalent.
tup1 = ( 'MUO', True, 3.9, 56, [1, 2, 3] )
print( tup1 )
# prints
('MUO', True, 3.9, 56, [1, 2, 3])
Création d'un tuple à l'aide du constructeur tuple ()
Les tuples peuvent également être créés à l'aide du constructeur tuple () . En utilisant le constructeur tuple (), vous pouvez convertir des séquences comme liste / dictionnaire en un tuple.
tup1 = tuple( (1, 2, 3) )
print( tup1 )
# prints
(1, 2, 3)
Créer un tuple imbriqué
Les tuples peuvent facilement être imbriqués dans les autres tuples. Vous pouvez imbriquer le tuple à n'importe quel niveau souhaité.
tup1 = (1, 2, 3)
tup2 = ( 'Hello', tup1, 45 )
print( tup2 )
# prints
('Hello', (1, 2, 3), 45)
Accéder aux éléments dans un tuple
Vous pouvez accéder aux éléments de tuple en utilisant le numéro d'index entre crochets. Le numéro d'index commence à 0. Tuple prend également en charge l'indexation négative:
- -1: pointe vers le dernier élément
- -2: pointe sur l'avant-dernier élément et ainsi de suite
tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
print( tup1[0] )
print( tup1[5] )
print( tup1[-1] )
print( tup1[-9] )
# prints
M
S
F
M
Trancher un tuple
Vous pouvez accéder à une gamme d'éléments dans un tuple à l' aide du côlon: l' opérateur. Tuple prend également en charge l'opération de découpage à l'aide d'index négatifs.
tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
# Prints elements from index 1(included) to index 6(excluded)
print( tup1[1:6] )
# Prints elements from start to index 8(excluded)
print( tup1[:8] )
# Prints elements from index 3(included) to the end
print( tup1[3:] )
# Prints elements from index -4(included) to index -1(excluded)
print( tup1[-4:-1] )
# prints
('A', 'K', 'E', 'U', 'S')
('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O')
('E', 'U', 'S', 'E', 'O', 'F')
('S', 'E', 'O')
Vérifier si un élément existe dans un tuple
Vous pouvez vérifier si un élément existe dans un tuple à l'aide du mot clé in .
tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
if 'M' in tup1:
print("Yes, the element M exists in the tuple")
else:
print("Element not found in the tuple !!")
# prints
Yes, the element M exists in the tuple
Mise à jour des tuples
En tant que tuples aussi immuables, il n'est pas possible de changer leur valeur. Python lève une TypeError si vous essayez de mettre à jour le tuple.
tup1 = ('M', 'A', 'K', 'E', 'U', 'S', 'E', 'O', 'F')
tup1[0] = 'Z'
# Following error is thrown
tup1[0] = 'Z'
TypeError: 'tuple' object does not support item assignment
Mais il y a un hack si vous souhaitez mettre à jour votre tuple.
Modifier la valeur des éléments d'un tuple à l'aide de listes
Vous pouvez modifier la valeur des éléments de votre tuple à l'aide de listes en Python . Tout d'abord, vous devrez convertir le tuple en liste. Modifiez ensuite la liste comme vous le souhaitez. Enfin, reconvertissez la liste en tuple.
tup1 = ( 1, 2, 3 )
print( "This is the old Tuple: ")
print( tup1 )
temp = list( tup1 )
temp[0] = 4
tup1 = tuple( temp )
print( "This is the Updated Tuple: ")
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(4, 2, 3)
Ajouter de nouveaux éléments dans un tuple à l'aide de listes
Étant donné que les tuples ne sont pas modifiables, il n'est pas possible d'ajouter de nouveaux éléments dans un tuple. Python lancera une erreur comme:
AttributeError: 'tuple' object has no attribute 'append
Encore une fois, vous pouvez utiliser notre hack (en utilisant des listes) pour gérer cela. Commencez par convertir le tuple en liste. Ajoutez ensuite de nouveaux éléments à la liste. Enfin, convertissez la liste en tuple.
Remarque: la méthode append () est utilisée en Python pour ajouter un nouvel élément à la fin de la liste.
tup1 = ( 1, 2, 3 )
print( "This is the old Tuple: ")
print( tup1 )
temp = list( tup1 )
temp.append(4)
tup1 = tuple( temp )
print( "This is the Updated Tuple: ")
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(1, 2, 3, 4)
Supprimer l'opération sur les tuples
Comme les tuples ne sont pas modifiables, il n'est pas possible de supprimer un élément du tuple. Si vous souhaitez supprimer le tuple complet, cela peut être fait à l'aide du mot-clé del .
tup1 = ( 1, 2, 3 )
del tup1
Mais vous pouvez utiliser le même hack (en utilisant des listes) que vous avez utilisé pour modifier et ajouter des éléments de tuple.
Suppression d'éléments d'un tuple à l'aide de listes
Les éléments peuvent être supprimés du tuple à l'aide de listes en 3 étapes simples:
Étape 1: Convertissez le tuple en liste.
Étape 2: Supprimez les éléments de la liste à l'aide de la méthode remove ()
Étape 3: Convertissez la liste en un tuple.
tup1 = ( 1, 2, 3 )
print( "This is the old Tuple: ")
print( tup1 )
temp = list( tup1 )
temp.remove(1)
tup1 = tuple( temp )
print( "This is the Updated Tuple: ")
print( tup1 )
# prints
This is the old Tuple:
(1, 2, 3)
This is the Updated Tuple:
(2, 3)
Emballage et déballage des tuples
Lors de la création d'un tuple, des valeurs sont attribuées. Cela s'appelle Packing a Tuple .
# Example of packing a tuple
tup1 = ( 1, 2, 3)
Alors que l'extraction des valeurs dans des variables s'appelle Décompresser un tuple .
# Example of unpacking a tuple
tup1 = ( 1, 2, 3 )
( one, two, three ) = tup1
print( one )
print( two )
print( three )
# prints
1
2
3
Bouclage avec des tuples Python
Les tuples sont des conteneurs itérables, tout comme les listes en Python. Vous pouvez facilement parcourir les éléments du tuple.
Utilisation de la boucle for
La boucle for de Python fonctionne en itérant à travers les éléments du conteneur.
# Looping using for loop
tup1 = ( 1, 2, 3 )
for element in tup1:
print( element )
# prints
1
2
3
Utilisation des numéros d'index
Vous pouvez parcourir le tuple à l'aide d'index de tuples. Utilisez la fonction len () pour trouver la taille du tuple.
tup1 = ( 1, 2, 3 )
for index in range(len(tup1)):
print( tup1[index] )
# prints
1
2
3
Améliorer l'efficacité de votre code
La structure de données du tuple étant immuable, sa vitesse de traitement est plus rapide que celle des listes. Ainsi, il fournit une optimisation aux programmes / projets Python. L'utilisation de cette structure de données puissante et polyvalente (tuples) dans vos programmes Python fera passer l'efficacité de votre code au niveau supérieur.