Vous êtes sur la page 1sur 8

PROGRAMMATION EN LANGAGE PYTHON LES TUPLES

Chapitre 8 : Les Tuples


Sommaire :
1) Définition...........................................................................................................................2
2) Utilisation et indexage.......................................................................................................3
a) Indexage positif..............................................................................................................3
b) Indexage négatif.............................................................................................................3
3) Tuples de tuples.................................................................................................................3
4) Concaténation et duplication des tuples.............................................................................4
5) Tranches de tuples (slicing)...............................................................................................4
6) Les tuples ne sont pas modifiable......................................................................................5
7) Les fonctions intégrées des tuples.....................................................................................6
a) La fonction tuple()..........................................................................................................6
b) Les fonctions range() et tuple()......................................................................................7
c) Longueur d'un tuple – la fonction len()..........................................................................7
d) Minimum, maximum et somme d'un tuple....................................................................7
8) Les Méthodes des tuples....................................................................................................7

ELBASRI OFPPT Page 1 sur 8


PROGRAMMATION EN LANGAGE PYTHON LES TUPLES

1) Définition
Un tuple est une collection d'objets ordonnés et immuables (non modifiable). Les tuples sont des
séquences, tout comme les listes. La principale différence entre les tuples et les listes est que les
tuples ne peuvent pas être modifiés contrairement aux listes. 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 = ('girafe', 'tigre', 'singe', 'souris')
>>> tup1
('girafe', 'tigre', 'singe', 'souris')
>>> tup2 = (1, 2, 3, 4, "c", "d" )
>>> tup2
(1, 2, 3, 4, 'c', 'd')
>>> tup3 = "a", "b", "c", "d"
>>> tup3
('a', 'b', 'c', 'd')
Le tuple vide est écrit comme deux parenthèses ne contenant rien.
>>> tup1 = ()
>>> tup1
()
>>> type(tup1)
<class 'tuple'>
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 = (5)
>>> tup1
5
>>> type(tup1)
<class 'int'>
>>> tup1 = (5,)
>>> tup1
(5,)
>>> type(tup1)
<class 'tuple'>

ELBASRI OFPPT Page 2 sur 8


PROGRAMMATION EN LANGAGE PYTHON LES TUPLES

2) Utilisation et indexage
Pour accéder aux valeurs dans un tuple, utilisez les crochets [] pour le découpage avec l'index ou
les indices pour obtenir la valeur disponible à cet index.

a) Indexage positif
Les indices d'un tuple de n éléments commence à 0 et se termine à n-1. Voyez l'exemple suivant:
>>> animaux = ('girafe','tigre','singe','souris')
>>> animaux[0]
'girafe'
>>> animaux[3]
'souris'
Par conséquent, si on appelle l'élément d'indice 4 de notre liste, Python renverra un message
d'erreur :
>>> animaux[4]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: tuple index out of range
b) Indexage négatif
Un tuple peut également être indexée avec des nombres négatifs.
Les indices négatifs reviennent à compter à partir de la fin. On peut accéder au dernier élément à
l'aide de l'indice -1. L'avant-dernier élément a lui l'indice -2, ... etc.
>>> animaux = ('girafe','tigre','singe','souris')
>>> animaux[-1]
'souris'
>>> animaux[-2]
'singe'

3) Tuples de tuples
Il est tout à fait possible de construire des tuples de tuples. Cette fonctionnalité peut parfois être
très pratique. Par exemple :

ELBASRI OFPPT Page 3 sur 8


PROGRAMMATION EN LANGAGE PYTHON LES TUPLES

>>> enclos1 = ('girafe', 4)


>>> enclos2 = ('tigre', 2)
>>> enclos3 = ('singe', 5)
>>> zoo = (enclos1, enclos2, enclos3)
>>> zoo
(('girafe', 4), ('tigre', 2), ('singe', 5))
Dans cet exemple, chaque sous-tuple contient une catégorie d'animal et le nombre d'animaux
pour chaque catégorie.
Pour accéder à un élément du tuple, on utilise l'indexage habituel :
>>> zoo[1]
('tigre', 2)
Pour accéder à un élément de la sous-tuple, on utilise un double indexage :
>>> zoo[1][0]
'tigre'
>>> zoo[1][1]
2

4) Concaténation et duplication des tuples


Tout comme les chaînes de caractères, les tuples supportent l'opérateur + de concaténation, ainsi
que l'opérateur * pour la duplication :
>>> ani1 = ('girafe', 'tigre')
>>> ani2 = ('singe', 'souris')
>>> ani1 + ani2
('girafe', 'tigre', 'singe', 'souris')
>>> ani1 * 3
('girafe', 'tigre', 'girafe', 'tigre', 'girafe', 'tigre')

5) Tranches de tuples (slicing)


Le principe de récupération d’une tranche d’un tuple est le même que celui d’une liste.
L'accès au contenu d'un tuple fonctionne sur le modèle suivant :
Nom_Tuple [ Debut : Fin : Pas ]
 Debut (facultatif): Un nombre entier spécifiant à quelle position commencer. La valeur
par défaut est 0.
 Fin (facultatif) : Un nombre entier spécifiant à quelle position s'arrêter (non inclus). par
défaut jusqu’à la fin.
 Pas (facultatif): Un nombre entier spécifiant l'incrémentation. La valeur par défaut est 1

ELBASRI OFPPT Page 4 sur 8


PROGRAMMATION EN LANGAGE PYTHON LES TUPLES

Si on veut récupérer tous les éléments, de l'élément m inclus à l'élément n+1 exclu), on pourra
utilise le modèle Nom_Tuple [m:n+1]. On dit alors qu'on récupère une tranche du tuple, par
exemple :
>>> animaux = ('girafe', 'tigre', 'singe', 'souris')
>>> animaux[0:2]
('girafe', 'tigre')
>>> animaux[0:3]
('girafe', 'tigre', 'singe')
>>> animaux[2:]
('singe', 'souris')
>>> animaux[:]
('girafe', 'tigre', 'singe', 'souris')
>>> animaux[1:-1]
('tigre', 'singe')
Notez que lorsqu'aucun indice n'est indiqué à gauche ou à droite du symbole deux-points, Python
prend par défaut tous les éléments depuis le début ou tous les éléments jusqu'à la fin
respectivement.
On peut aussi préciser le pas en ajoutant un symbole deux-points supplémentaire et en indiquant
le pas par un entier.
>>> animaux = ('girafe', 'tigre', 'singe', 'souris')
>>> animaux[0:3:2]
('girafe', 'singe')
>>> x = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> x
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> x[::2]
(0, 2, 4, 6, 8)
>>> x[::3]
(0, 3, 6, 9)
>>> x[1:6:3]
(1, 4)

6) Les tuples ne sont pas modifiable


A la différence des listes, les tuples ne sont pas modifiables. Si on essaie de modifier un des
éléments du tuple, Python renvoie un message d'erreur.
>>> x = (1, 2, 3)
>>> x

ELBASRI OFPPT Page 5 sur 8


PROGRAMMATION EN LANGAGE PYTHON LES TUPLES

(1, 2, 3)
>>> x[2]
3
>>> x[2] = 15
Traceback (innermost last):
File "<stdin>", line 1, in ?
TypeError: object doesn't support item assignment
Si vous voulez ajouter un élément (ou le modifier), vous devez créer un autre tuple :
>>> x = (1, 2, 3)
>>> y = x + (2,)
>>> y
(1, 2, 3, 2)
De même, si vous tentez de supprimer un élément d’un tuple en utilisant l'instruction del , Python
vous renvoie un message d'erreur.
>>> x = (1, 2, 3)
>>> del x[1]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'tuple' object doesn't support item deletion

7) Les fonctions intégrées des tuples


a) La fonction tuple()
La fonction tuple () convertit une séquence d'éléments en un tuple. Cette fonction retourne le
tuple.
Syntaxe: tuple( seq )
seq - Il s'agit de la séquence d'éléments à convertir en tuple.
L'exemple suivant montre l'utilisation de la fonction tuple ().
>>> liste1 = [2, 4, 7, 9]
>>> tuple1 = tuple(liste1)
>>> type(tuple1)
<class 'tuple'>
>>> tuple1
(2, 4, 7, 9)
>>> tuple("Bonjour")
('B', 'o', 'n', 'j', 'o', 'u', 'r')

ELBASRI OFPPT Page 6 sur 8


PROGRAMMATION EN LANGAGE PYTHON LES TUPLES

b) Les fonctions range() et tuple()


La fonction range() est une fonction spéciale en Python qui génère des nombres entiers compris
dans un intervalle. Lorsqu'elle est utilisée en combinaison avec la fonction tuple(), on obtient un
tuple d'entiers. Par exemple :

>>> tuple(range(0, 5))


(0, 1, 2, 3, 4)
>>> tuple(range(15, 20))
(15, 16, 17, 18, 19)
>>> tuple(range(0, 1000, 200))
(0, 200, 400, 600, 800)
>>> tuple(range(2, -2, -1))
(2, 1, 0, -1)
c) Longueur d'un tuple – la fonction len()
La fonction len() vous permet de connaître la longueur d'un tuple, c'est-à-dire le nombre
d'éléments que contient la liste. Voici un exemple d'utilisation :
>>> animaux = ('girafe', 'tigre', 'singe', 'souris')
>>> len(animaux)
4
d) Minimum, maximum et somme d'un tuple
Les fonctions min(), max() et sum() renvoient respectivement le minimum, le maximum et la
somme d'un tuple passée en argument.

>>> nombres = tuple(range(10))


>>> nombres
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
>>> sum(nombres)
45
>>> min(nombres)
0
>>> max(nombres)
9

8) Les Méthodes des tuples


Python a deux méthodes intégrées que vous pouvez utiliser sur les tuples.
 La méthode tuple.count (x) : Renvoie le nombre d'éléments ayant la valeur x dans le tuple

ELBASRI OFPPT Page 7 sur 8


PROGRAMMATION EN LANGAGE PYTHON LES TUPLES

>>> tuple1 = ( 4, 5, 2, 7, 2, 6, 2)
>>> tuple1.count(2)
3
>>> tuple1.count(7)
1
 La méthode tuple.index (x[, start[, end]]) : Renvoie la position du premier élément du tuple
dont la valeur égale x (en commençant à compter les positions à partir de zéro). Une
exception ValueError est levée si aucun élément n'est trouvé.
Les arguments optionnels start et end sont interprétés de la même manière que dans la notation
des tranches et sont utilisés pour limiter la recherche à une sous-séquence particulière.
>>> tuple1 = ( 4, 5, 2, 7, 2, 6, 2)
>>> tuple1.index(2)
2
>>> tuple1.index(2, 3, 6)
4
>>> tuple1.index(8)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: tuple.index(x): x not in tuple

ELBASRI OFPPT Page 8 sur 8

Vous aimerez peut-être aussi