logo

Tuples en Python

Python Tuple est une collection d'objets séparés par des virgules. À certains égards, un tuple est similaire à une liste Python en termes d'indexation, d'objets imbriqués et de répétition, mais la principale différence entre les deux est que le tuple Python est immuable, contrairement à la liste Python qui est mutable.

Création de tuples Python

Il existe différentes manières de créer un tuple dans Python . Ils sont les suivants :



  • Utiliser des parenthèses rondes
  • Avec un article
  • Constructeur de tuples

Créer des tuples à l'aide de crochets ronds ()

Pour créer un tuple, nous utiliserons les opérateurs ().

Python3




convertir un entier en double Java





var>=> (>'Geeks'>,>'for'>,>'Geeks'>)> print>(var)>

>

>

Sortir:

('Geeks', 'for', 'Geeks')>

Créer un tuple avec un élément

Python 3.11 nous offre une autre façon de créer un tuple.

Python3




values :>tuple>[>int> |>str>, ...]>=> (>1>,>2>,>4>,>'Geek'>)> print>(values)>

>

>

Sortir:

Ici, dans l'extrait ci-dessus, nous considérons une variable appelée valeurs qui contient un tuple composé soit de int, soit de str, le «…» signifie que le tuple contiendra plus d'un int ou str.

(1, 2, 4, 'Geek')>

Note: Si vous générez un tuple avec un seul élément, assurez-vous d'ajouter une virgule après l'élément. Voyons un exemple de la même chose.

Python3




mytuple>=> (>'Geeks'>,)> print>(>type>(mytuple))> #NOT a tuple> mytuple>=> (>'Geeks'>)> print>(>type>(mytuple))>

>

>

Sortir:

>

Constructeur de tuple en Python

Pour créer un tuple avec un constructeur de Tuple, nous passerons les éléments comme paramètres.

Python3




tuple_constructor>=> tuple>((>'dsa'>,>'developement'>,>'deep learning'>))> print>(tuple_constructor)>

>

>

Sortir :

('dsa', 'developement', 'deep learning')>

Qu’est-ce qui est immuable dans les tuples ?

Les tuples en Python sont similaires à Listes Python mais pas entièrement. Les tuples sont immuables et ordonnés et autorisent les valeurs en double. Quelques caractéristiques des tuples en Python.

  • Nous pouvons trouver des éléments dans un tuple puisque la recherche d’un élément n’entraîne aucune modification dans le tuple.
  • On ne peut pas ajouter d'éléments à un tuple une fois celui-ci créé.
  • Les tuples ne peuvent pas être ajoutés ou étendus.
  • Nous ne pouvons pas supprimer des éléments d'un tuple une fois celui-ci créé.

Voyons cela avec un exemple.

Python3




mytuple>=> (>1>,>2>,>3>,>4>,>5>)> # tuples are indexed> print>(mytuple[>1>])> print>(mytuple[>4>])> # tuples contain duplicate elements> mytuple>=> (>1>,>2>,>3>,>4>,>2>,>3>)> print>(mytuple)> # adding an element> mytuple[>1>]>=> 100> print>(mytuple)>

>

>

Sortir:

Les tuples Python sont ordonnés et nous pouvons accéder à leurs éléments en utilisant leurs valeurs d'index. Ils sont également immuables, c'est-à-dire que nous ne pouvons pas ajouter, supprimer et modifier les éléments une fois déclarés dans le tuple, donc lorsque nous avons essayé d'ajouter un élément à l'index 1, cela a généré l'erreur.

2 5 (1, 2, 3, 4, 2, 3) Traceback (most recent call last): File 'e0eaddff843a8695575daec34506f126.py', line 11, in tuple1[1] = 100 TypeError: 'tuple' object does not support item assignment>

Accéder aux valeurs dans les tuples Python

Les tuples en Python offrent deux manières d'accéder aux éléments d'un tuple.

  • Utiliser un indice positif
  • Utiliser un indice négatif

Tuple d'accès Python à l'aide d'un index positif

En utilisant des crochets, nous pouvons obtenir les valeurs des tuples en Python.

Python3




var>=> (>'Geeks'>,>'for'>,>'Geeks'>)> print>(>'Value in Var[0] = '>, var[>0>])> print>(>'Value in Var[1] = '>, var[>1>])> print>(>'Value in Var[2] = '>, var[>2>])>

>

>

Sortir:

Value in Var[0] = Geeks Value in Var[1] = for Value in Var[2] = Geeks>

Accéder au tuple à l'aide d'un index négatif

Dans les méthodes ci-dessus, nous utilisons l'index positif pour accéder à la valeur en Python, et ici nous utiliserons l'index négatif dans [].

Python3




tri par insertion en Java
var>=> (>1>,>2>,>3>)> print>(>'Value in Var[-1] = '>, var[>->1>])> print>(>'Value in Var[-2] = '>, var[>->2>])> print>(>'Value in Var[-3] = '>, var[>->3>])>

>

>

Sortir:

Value in Var[-1] = 3 Value in Var[-2] = 2 Value in Var[-3] = 1>

Différentes opérations liées aux tuples

Ci-dessous les différentes opérations liées aux tuples en Python :

  • Enchaînement
  • Nidification
  • Répétition
  • Tranchage
  • Suppression
  • Trouver la longueur
  • Plusieurs types de données avec des tuples
  • Conversion de listes en tuples
  • Tuples dans une boucle

Concaténation de tuples Python

À Enchaînement des Tuples Python, nous utiliserons les opérateurs plus (+).

Python3




# Code for concatenating 2 tuples> tuple1>=> (>0>,>1>,>2>,>3>)> tuple2>=> (>'python'>,>'geek'>)> # Concatenating above two> print>(tuple1>+> tuple2)>

>

>

Sortir:

(0, 1, 2, 3, 'python', 'geek')>

Imbrication de tuples Python

Un tuple imbriqué en Python signifie un tuple à l'intérieur d'un autre tuple.

Python3




# Code for creating nested tuples> tuple1>=> (>0>,>1>,>2>,>3>)> tuple2>=> (>'python'>,>'geek'>)> tuple3>=> (tuple1, tuple2)> print>(tuple3)>

>

>

Sortir :

((0, 1, 2, 3), ('python', 'geek'))>

Tuples Python de répétition

Nous pouvons créer un tuple de plusieurs éléments identiques à partir d'un seul élément de ce tuple.

Python3


commutateur c#



# Code to create a tuple with repetition> tuple3>=> (>'python'>,)>*>3> print>(tuple3)>

>

>

Sortir:

('python', 'python', 'python')>

Essayez ce qui précède sans virgule et vérifiez. Vous obtiendrez tuple3 sous forme de chaîne « pythonpythonpython ».

Découper des tuples en Python

Découper un tuple Python signifie diviser un tuple en petits tuples à l'aide de la méthode d'indexation.

Python3




# code to test slicing> tuple1>=> (>0> ,>1>,>2>,>3>)> print>(tuple1[>1>:])> print>(tuple1[::>->1>])> print>(tuple1[>2>:>4>])>

>

>

Sortir:

Dans cet exemple, nous avons découpé le tuple de l'index 1 au dernier élément. Dans la deuxième instruction print, nous avons imprimé le tuple en utilisant l'indexation inversée. Et dans la troisième instruction print, nous avons imprimé les éléments de l'index 2 à 4.

(1, 2, 3) (3, 2, 1, 0) (2, 3)>

Note: Dans le découpage Python, l'index de fin fourni n'est pas inclus.

Supprimer un tuple en Python

Dans cet exemple, nous supprimons un tuple en utilisant ' del' mot-clé . La sortie sera sous forme d'erreur car après avoir supprimé le tuple, elle donnera une NameError.

Note: Supprimer des éléments de tuple individuels n'est pas possible, mais nous pouvons supprimer le tuple entier à l'aide du mot-clé Del.

Python3




# Code for deleting a tuple> tuple3>=> (>0>,>1>)> del> tuple3> print>(tuple3)>

>

>

Sortir:

Traceback (most recent call last): File 'd92694727db1dc9118a5250bf04dafbd.py', line 6, in print(tuple3) NameError: name 'tuple3' is not defined>

Trouver la longueur d'un tuple Python

Pour trouver la longueur d’un tuple, nous pouvons utiliser la fonction len() de Python et passer le tuple comme paramètre.

Python3




# Code for printing the length of a tuple> tuple2>=> (>'python'>,>'geek'>)> print>(>len>(tuple2))>

>

>

Sortir:

 2>

Plusieurs types de données avec tuple

Les tuples en Python sont de nature hétérogène. Cela signifie que les tuples prennent en charge les éléments avec plusieurs types de données.

Python3




# tuple with different datatypes> tuple_obj>=> (>'immutable'>,>True>,>23>)> print>(tuple_obj)>

les premiers mukers
>

>

Sortir :

('immutable', True, 23)>

Conversion d'une liste en tuple

Nous pouvons convertir un liste en Python vers un tuple en utilisant le constructeur tuple() et en passant la liste comme paramètres.

Python3




# Code for converting a list and a string into a tuple> list1>=> [>0>,>1>,>2>]> print>(>tuple>(list1))> # string 'python'> print>(>tuple>(>'python'>))>

>

>

Sortir:

Les tuples prennent un seul paramètre qui peut être une liste, une chaîne, un ensemble ou même un dictionnaire (seules les clés sont considérées comme des éléments) et les convertissent en tuple.

(0, 1, 2) ('p', 'y', 't', 'h', 'o', 'n')>

Tuples dans une boucle

Nous pouvons également créer un tuple contenant un seul élément en utilisant boucles .

Python3




# python code for creating tuples in a loop> tup>=> (>'geek'>,)> # Number of time loop runs> n>=> 5> for> i>in> range>(>int>(n)):> >tup>=> (tup,)> >print>(tup)>

>

>

Sortir:

(('geek',),) ((('geek',),),) (((('geek',),),),) ((((('geek',),),),),) (((((('geek',),),),),),)>