Python - Tuples
Page PrécédentePage Suivante
Un tuple est une collection d'objets ordonnés et immuables. Les tuples sont des séquences, tout comme les listes. Les différences entre les tuples et les listes sont que les tuples ne peuvent pas être modifiés contrairement aux listes et les tuples utilisent des parenthèses, tandis que les listes utilisent des crochets.
Créer un tuple est aussi simple que de mettre différentes valeurs séparées par des virgules. En option, vous pouvez également mettre ces valeurs séparées par des virgules entre parenthèses. Par exemple −
tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5 ); tup3 = "a", "b", "c", "d";
Le tuple vide s'écrit sous la forme de deux parenthèses ne contenant rien −
tup1 = ();
Pour écrire un tuple contenant une seule valeur, vous devez inclure une virgule, même s'il n'y a qu'une seule valeur −
tup1 = (50,);
Comme les indices de chaîne, les indices de tuple commencent à 0 et peuvent être découpés, concaténés, etc.
Accéder aux valeurs dans les tuples
Pour accéder aux valeurs en tuple, utilisez les crochets pour le découpage avec l'index ou les index pour obtenir la valeur disponible à cet index. Par exemple −
Démo en direct#!/usr/bin/python tup1 = ('physics', 'chemistry', 1997, 2000); tup2 = (1, 2, 3, 4, 5, 6, 7 ); print "tup1[0]: ", tup1[0]; print "tup2[1:5]: ", tup2[1:5];
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant −
tup1[0]: physics tup2[1:5]: [2, 3, 4, 5]
Mettre à jour les tuples
Les tuples sont immuables, ce qui signifie que vous ne pouvez pas mettre à jour ou modifier les valeurs des éléments de tuple. Vous pouvez prendre des portions de tuples existants pour créer de nouveaux tuples comme le montre l'exemple suivant −
Démo en direct#!/usr/bin/python tup1 = (12, 34.56); tup2 = ('abc', 'xyz'); # Following action is not valid for tuples # tup1[0] = 100; # So let's create a new tuple as follows tup3 = tup1 + tup2; print tup3;
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant −
(12, 34.56, 'abc', 'xyz')
Supprimer les éléments de tuple
La suppression d'éléments de tuple individuels n'est pas possible. Il n'y a, bien sûr, rien de mal à assembler un autre tuple avec les éléments indésirables supprimés.
Pour supprimer explicitement un tuple entier, utilisez simplement le del déclaration. Par exemple −
Démo en direct#!/usr/bin/python tup = ('physics', 'chemistry', 1997, 2000); print tup; del tup; print "After deleting tup : "; print tup;
Cela produit le résultat suivant. Notez une exception levée, c'est parce qu'après del tup tuple n'existe plus −
('physics', 'chemistry', 1997, 2000) After deleting tup : Traceback (most recent call last): File "test.py", line 9, in <module> print tup; NameError: name 'tup' is not defined
Opérations de base sur les tuples
Les tuples répondent aux opérateurs + et * un peu comme les chaînes; ils signifient concaténation et répétition ici aussi, sauf que le résultat est un nouveau tuple, pas une chaîne.
En fait, les tuples répondent à toutes les opérations de séquence générales que nous avons utilisées sur les chaînes dans le chapitre précédent −
Expression Python | Résultats | Description |
---|---|---|
len((1, 2, 3)) | 3 | Longueur |
(1, 2, 3) + (4, 5, 6) | (1, 2, 3, 4, 5, 6) | Concaténation |
('Salut !',) * 4 | ('Salut !', 'Salut !', 'Salut !', 'Salut !') | Répétition |
3 pouces (1, 2, 3) | Vrai | Adhésion |
pour x dans (1, 2, 3) :imprimer x, | 1 2 3 | Itération |
Indexation, découpage et matrices
Étant donné que les tuples sont des séquences, l'indexation et le découpage fonctionnent de la même manière pour les tuples que pour les chaînes. En supposant l'entrée suivante −
L = ('spam', 'Spam', 'SPAM!')
Expression Python | Résultats | Description |
---|---|---|
L[2] | 'SPAM !' | Les décalages commencent à zéro |
L[-2] | 'Spam' | Négatif :compter à partir de la droite |
L[1 :] | ['Spam', 'SPAM !'] | Le découpage récupère les sections |
Pas de délimiteurs englobants
Tout ensemble d'objets multiples, séparés par des virgules, écrits sans symboles d'identification, c'est-à-dire des crochets pour les listes, des parenthèses pour les tuples, etc., sont par défaut des tuples, comme indiqué dans ces courts exemples −
Démo en direct#!/usr/bin/python print 'abc', -4.24e93, 18+6.6j, 'xyz'; x, y = 1, 2; print "Value of x , y : ", x,y;
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant −
abc -4.24e+93 (18+6.6j) xyz Value of x , y : 1 2
Fonctions tuple intégrées
Python inclut les fonctions de tuple suivantes −
Sr.No. | Fonction avec Description |
---|---|
1 | cmp(tuple1, tuple2) Compare les éléments des deux tuples. |
2 | len(tuple) Donne la longueur totale du tuple. |
3 | max(tuple) Renvoie l'élément du tuple avec la valeur maximale. |
4 | min(tuple) Renvoie l'élément du tuple avec la valeur minimale. |
5 | uplet(suite) Convertit une liste en tuple. |
Python