Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Python

Maîtriser les tuples Python : Définition, utilisation et différences avec les listes

Un tuple est une collection d'objets qui est ordonnée et immuable. Les tuples sont des séquences, tout comme les listes. Les différences entre tuples et listes sont : 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. Optionnellement, vous pouvez mettre ces valeurs séparées par des virgules entre parenthèses aussi. Par exemple :

tup1 = ('physics', 'chemistry', 1997, 2000); 
tup2 = (1, 2, 3, 4, 5 ); 
tup3 = "a", "b", "c", "d";

Le tuple vide s'écrit comme 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 ils peuvent être tranchés, concaténés, etc.

Accès aux valeurs dans les tuples

Pour accéder aux valeurs dans un tuple, utilisez les crochets pour le tranchage avec l'index ou les indices pour obtenir la valeur disponible à cet index. Par exemple :

Démonstration 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]

Mise à jour des tuples

Les tuples sont immuables, ce qui signifie que vous ne pouvez pas mettre à jour ou changer 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émonstration en direct
#!/usr/bin/python 
tup1 = (12, 34.56); 
tup2 = ('abc', 'xyz'); 
# L'action suivante n'est pas valide pour les tuples 
# tup1[0] = 100; 
# Alors créons un nouveau tuple comme suit 
tup3 = tup1 + tup2; 
print tup3;

Lorsque le code ci-dessus est exécuté, il produit le résultat suivant :

(12, 34.56, 'abc', 'xyz')

Suppression d'é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 écartés.

Pour supprimer explicitement un tuple entier, utilisez simplement l'instruction del. Par exemple :

Démonstration en direct
#!/usr/bin/python 
tup = ('physics', 'chemistry', 1997, 2000); 
print tup; 
del tup; 
print "Après suppression de tup : "; 
print tup;

Cela produit le résultat suivant. Notez une exception levée, car après del tup le tuple n'existe plus :

('physics', 'chemistry', 1997, 2000) 
Après suppression de 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
('Hi!',) * 4 ('Hi!', 'Hi!', 'Hi!', 'Hi!') Répétition
3 in (1, 2, 3) True Appartenance
for x in (1, 2, 3): print x, 1 2 3 Itération

Indexation, tranchage et matrices

Parce que les tuples sont des séquences, l'indexation et le tranchage 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 depuis la droite
L[1:] ['Spam', 'SPAM!'] Le tranchage récupère des sections

Absence de délimiteurs d'encadrement

Tout ensemble d'objets multiples, séparés par des virgules, écrit sans symboles d'identification, c'est-à-dire crochets pour les listes, parenthèses pour les tuples, etc., sont par défaut des tuples, comme indiqué dans ces courts exemples :

Démonstration en direct
#!/usr/bin/python 
print 'abc', -4.24e93, 18+6.6j, 'xyz'; 
x, y = 1, 2; 
print "Valeur de 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 
Valeur de x , y : 1 2

Fonctions intégrées pour les tuples

Python inclut les fonctions de tuple suivantes :

N° 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)

Retourne l'élément du tuple avec la valeur max.

4 min(tuple)

Retourne l'élément du tuple avec la valeur min.

5 tuple(seq)

Convertit une liste en tuple.

Python

  1. Maîtriser les types de données Python : Guide pratique
  2. Maîtriser les opérateurs Python : Guide complet
  3. Maîtriser l'instruction pass en Python : Guide pratique
  4. Maîtriser les arguments de fonctions Python : Positionnels, nommés et paramètres par défaut
  5. Maîtriser les dictionnaires Python : création, manipulation et techniques avancées
  6. Maîtriser les itérateurs Python : fonctionnement et création des vôtres
  7. Les fermetures Python expliquées : comment les fonctions imbriquées capturent les variables
  8. Maîtriser Python datetime : guide pratique pour les dates, heures et fuseaux horaires
  9. Maîtriser time.sleep() en Python : Bonnes pratiques, multithreading et exemples réels