Les tuples en Python
Les tuples sont des séquences qui fonctionnent comme des listes, la seule différence est qu’elles sont immuables, ce qui signifie que nous ne pouvons pas ajouter, supprimer ou modifier ses éléments une fois créés. Cela les rend également super efficaces par rapport à la liste. Les tuples sont utilisés pour stocker une liste d'éléments qui ne changent pas.
Les valeurs d’un tuple sont syntaxiquement séparées par des «virgules». Bien que cela ne soit pas nécessaire, il est plus courant de définir un tuple en fermant la séquence de valeurs entre parenthèses. Cela aide à comprendre plus facilement les tuples Python.
Creation d'un Tuple
En Python, les tuples sont créés en plaçant une séquence de valeurs séparées par des virgules avec ou sans parenthèses ().
Exemple 1 :
# création d'un tuple vide tuple1=() print(tuple1) #tuple avec 3 éléments de type chaine tuple2=("Meknes","Marrakech", "ESSAOUIRA") print(tuple2) #tuple avec un seul élément tuple3 =(4,) print(tuple3) #tuple sans parenthèses tuple4 = 3,5,7,10 print(tuple4)
('Meknes', 'Marrakech', 'ESSAOUIRA')
(4,)
(3, 5, 7, 10)
Nous pouvons également utiliser le constructeur i.e tuple(), qui accepte tout type de séquence ou d’objet itératif.
Exemple 2 :
# tuple de la chaîne t1 = tuple("abcd") print(t1) #tuple de range t2 = tuple(range(1, 10)) print(t2) # tuple de la liste t3 = tuple([1,2,3,4]) print(t3)
(1, 2, 3, 4, 5, 6, 7, 8, 9)
(1, 2, 3, 4)
Les tuples vous permettent d'attribuer des valeurs à plusieurs variables à la fois.
Le nombre de variables (à gauche) et le nombre d'éléments dans le tuple (à droite) doivent correspondre, sinon vous obtiendrez une erreur.
Exemple 3 :
prenom,age=("Ismail",25) print("Prénom : ",prenom) print("Age : ",age)
Age : 25
Opérations sur les tuples
Un tuple est essentiellement une liste immuable. En conséquence, la plupart des opérations pouvant être effectuées sur une liste sont également valables pour des tuples. Voici quelques exemples de telles opérations:
- Accédez à un seul élément ou à des tranches d'éléments à l'aide de l'opérateur [].
- Les fonctions intégrées telles que max(), min(), sum() sont valides sur un tuple.
- opérateurs d'appartenance in et not in
- Opérateurs de comparaison pour comparer les tuples.
- Opérateurs + et *.
- boucle for pour parcourir les éléments.
- ...
Les seules opérations que tuple ne supporte pas sont celles qui modifient la liste elle-même. Par conséquent, les méthodes telles que append(), insert(), remove(), reverse() et sort() ne fonctionnent pas avec les tuples.
Exemple 4 :
tuple1=(2,4,5,7,19) tuple2=(5,9,5) # afficher l'élément 4 de tuple1 print("4éme élément : ",tuple1[3]) # afficher les 3 premiers éléments print("les 3 premiers éléments sont : ",tuple1[:3]) # afficher le max de tuple1 print("max : ",max(tuple1)) # afficher la somme des éléments de tuple1 print("somme : ",sum(tuple1)) tuple3=tuple1 + tuple2 print("concaténation de 2 tuples : ",tuple3) # répéter un tuple 2 fois tuple4=tuple1 * 2 print("double : ", tuple4) for elem in tuple1: print(elem,end=' , ')
les 3 premiers éléments sont : (2, 4, 5)
max : 19
somme : 37
concaténation de 2 tuples : (2, 4, 5, 7, 19, 5, 9, 5)
double : (2, 4, 5, 7, 19, 2, 4, 5, 7, 19)
2 , 4 , 5 , 7 , 19 ,
Avantages de Tuple par rapport à List
Comme les tuples sont très semblables aux listes, les deux sont utilisés dans des situations similaires.
Cependant, la mise en œuvre d'un tuple sur une liste présente certains avantages. Vous trouverez ci-dessous certains des principaux avantages:
- Nous utilisons généralement tuple pour les types de données hétérogènes (différents) et list pour les types de données homogènes (similaires).
- Comme les n-uplets sont immuables, boucler sur un tuple est plus rapide qu'avec list. Il y a donc une légère amélioration des performances.
- Les tuples contenant des éléments immuables peuvent être utilisés comme clé pour un dictionnaire. Avec les listes, ce n'est pas possible.
- Si vous avez des données qui ne changent pas, leur implémentation en tant que tuple garantira qu'elles resteront protégées en écriture.