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 : création, accès et opérations avancées

Les tuples Python

Découvrez la puissance des tuples en Python — séquences immuables offrant rapidité, sécurité et polyvalence pour les données hétérogènes. Ce guide couvre de la syntaxe de base aux opérations avancées.

Vidéo : Listes et tuples Python

Un tuple se comporte comme une liste mais est immuable une fois créé. Contrairement aux listes, vous ne pouvez pas modifier ses éléments, ce qui rend les tuples idéaux pour des ensembles de données fixes.


Créer un tuple

Les tuples se définissent en plaçant des valeurs séparées par des virgules à l'intérieur de parenthèses (). Bien que les parenthèses soient optionnelles, elles améliorent la lisibilité.

Les tuples peuvent contenir n'importe quel nombre d'éléments et mélanger les types de données — entiers, floats, chaînes, listes, autres tuples, etc.

# Différents types de tuples
# Tuple vide
my_tuple = ()
print(my_tuple)
# Tuple avec entiers
my_tuple = (1, 2, 3)
print(my_tuple)
# Types de données mixtes
my_tuple = (1, "Bonjour", 3.4)
print(my_tuple)
# Tuple imbriqué
my_tuple = ("souris", [8, 4, 6], (1, 2, 3))
print(my_tuple)

Sortie

() (1, 2, 3) (1, 'Bonjour', 3.4) ('souris', [8, 4, 6], (1, 2, 3))

Les tuples peuvent aussi être créés sans parenthèses — technique appelée "tuple packing".

my_tuple = 3, 4.6, "chien"
print(my_tuple)
# Tuple unpacking
a, b, c = my_tuple
print(a)
print(b)
print(c)

Sortie

(3, 4.6, 'chien') 3 4.6 chien

Quand un tuple contient un seul élément, une virgule finale est requise pour le distinguer d'une simple valeur.

my_tuple = ("bonjour")
print(type(my_tuple))  # <class 'str'>
# Tuple à un élément
my_tuple = ("bonjour",)
print(type(my_tuple))  # <class 'tuple'>
# Parenthèses optionnelles
my_tuple = "bonjour",
print(type(my_tuple))  # <class 'tuple'>

Sortie

<class 'str'> <class 'tuple'> <class 'tuple'>

Accéder aux éléments d'un tuple

Les tuples supportent plusieurs méthodes d'accès aux éléments :

1. Indexation

Utilisez l'opérateur d'index [] avec des indices base zéro. Un accès hors limites lève IndexError ; des indices non-entiers lèvent TypeError.

# Exemple d'indexation
my_tuple = ('p','e','r','m','i','t')
print(my_tuple[0])  # 'p'
print(my_tuple[5])  # 't'
# Indexation imbriquée
n_tuple = ("souris", [8, 4, 6], (1, 2, 3))
print(n_tuple[0][3])  # 's'
print(n_tuple[1][1])  # 4

Sortie

p t s 4

2. Indexation négative

Les indices négatifs comptent depuis la fin : -1 est le dernier élément.

# Indexation négative
my_tuple = ('p', 'e', 'r', 'm', 'i', 't')
print(my_tuple[-1])  # 't'
print(my_tuple[-6])  # 'p'

Sortie

t p

3. Tranchage

Utilisez la syntaxe start:stop pour extraire des sous-tuples.

# Exemple de tranchage
my_tuple = ('p','r','o','g','r','a','m','i','z')
print(my_tuple[1:4])   # ('r', 'o', 'g')
print(my_tuple[:-7])   # ('p', 'r')
print(my_tuple[7:])    # ('i', 'z')
print(my_tuple[:])     # tuple complet

Sortie

('r', 'o', 'g') ('p', 'r') ('i', 'z') ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
Maîtriser les tuples Python : création, accès et opérations avancées

Modifier un tuple

Les tuples sont immuables. L'assignation directe à un élément lève TypeError :

# Tentative de modification
my_tuple = (4, 2, 3, [6, 5])
# my_tuple[1] = 9  # TypeError

Cependant, si un élément est lui-même mutable (ex. une liste), son état interne peut changer :

my_tuple[3][0] = 9
print(my_tuple)  # (4, 2, 3, [9, 5])

Les tuples peuvent être réassignés à une nouvelle valeur entièrement :

my_tuple = ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
print(my_tuple)

Utilisez + pour la concaténation et * pour la répétition ; les deux retournent un nouveau tuple.

print((1, 2, 3) + (4, 5, 6))  # (1, 2, 3, 4, 5, 6)
print(("Répétition",) * 3)    # ('Répétition', 'Répétition', 'Répétition')

Sortie

(1, 2, 3, 4, 5, 6) ('Répétition', 'Répétition', 'Répétition')

Supprimer un tuple

Les éléments individuels ne peuvent pas être supprimés. Le tuple entier peut être supprimé avec del :

my_tuple = ('p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z')
# del my_tuple[3]  # TypeError
del my_tuple
# print(my_tuple)  # NameError

Sortie

Traceback (most recent call last): File "<string>", line 12, in <module> NameError: name 'my_tuple' is not defined

Méthodes des tuples

Les tuples n'exposent que deux méthodes intégrées : count() et index().

my_tuple = ('a', 'p', 'p', 'l', 'e')
print(my_tuple.count('p'))  # 2
print(my_tuple.index('l'))  # 3

Sortie

2 3

Opérations supplémentaires sur les tuples

1. Test d'appartenance

Vérifiez l'existence avec le mot-clé in.

my_tuple = ('a', 'p', 'p', 'l', 'e')
print('a' in my_tuple)
print('b' in my_tuple)
print('g' not in my_tuple)

Sortie

True False True

2. Itération

Parcourez les tuples avec for :

for name in ('Jean', 'Kate'):
    print("Bonjour", name)

Sortie

Bonjour Jean Bonjour Kate

3. Avantages sur les listes

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. Python : Aperçu - Langage de haut niveau, lisible, interactif et orienté objet