Les tuples

Les tuples sont des séquences non mutables d’objets séparés par une virgule, et délimitées par des parenthèses ( et ).

Les tuples peuvent être formés :

  • en évaluant l’expression tuple() ou (). On obtient le tuple vide.
  • En combinant des éléments (elt0, elt1, …, eltn), ou en convertissant une séquence par tuple(seq).
  • en “compréhension”, par tuple(expr for indice in iterable), ou tuple(expr for indice in iterable if condition) ;
    on peut également utiliser la syntaxe plus générale suivante, (cf “listes en compréhension”).

    Quelques remarques :
  • Les parenthèses aux extrémités sont facultatives (l’important, ce sont les virgules) mais recommandées pour la lisibilité.
    Pour former un tuple à un seul élément, il faut faire suivre cet élément d’une virgule.
  • Les opérations sur les séquences non mutables s’appliquent aux tuples : appartenance (avec in t et not in t), concaténation (avec t + t’) et répétition (avec t * n), longueur avec len(t), accès indexés et coupes (avec t [ i ], t [ i : j ], t [ i : j : k ]), minimum/maximum (max et min), recherche de valeur x par t.index(x) et occurences par t.count(x).
    Les tuples sont indiqués pour “packer” ensemble des données, si on ne souhaite pas les modifier individuellement (ce qui serait de toutes façons impossible ici pour cause de “non mutabilité”) ni augmenter ou diminuer leur nombre.
    Tout comme les listes et les chaînes, les tuples sont itérables, et peuvent donc être parcourus par une boucle for.

Commençons par un premier exemple de tuple défini “en extension” :

Voici quelques exemples de manipulations d’un tuple t défini en compréhension :

Terminons par quelques opérations possibles sur les tuples :

Retour à l’accueil du cours Python/Numpy

Sommaire du chapitre 5

  1. Propriétés communes aux séquences (hors “mutations”)
  2. Séquences mutables ou non
  3. Listes définies “en compréhension”
  4. Opérations de mutation de listes
  5. Les tuples
  6. Les chaînes de caractères
  7. Méthodes importantes sur les chaînes (split, join, format)
  8. Objets de type bytes et bytearray