Les tuples sont des séquences d'éléments itérables et non modifiables.
Il est préférable d'écrire les tuples avec des parenthèses (même si cela n'est pas obligatoire).
t1 = (12, 8, -9, 9.5, 3)
t2 = ('a', 'b', 'c', 'd')
t3 = (5, "Janvier", 12, [2, 9.5]) #Les tuples peuvent contenir des éléments de tout type, y compris des tuples et des listes !
Remarque : il faut toujours au moins une virgule pour définir un tuple. Par exemple : tuple = (1, )
La longueur d'un tuple peut être récupérée à l'aide de la fonction len(tuple)
.
t1 + t2 |
Renvoie un tuple qui contient les éléments de t1 avec à la suite ceux de t2 . |
---|---|
t1 * n ou n * t1 |
Renvoie un tuple qui contient de façon répétée n fois les éléments de t1 . |
Pour récupérer l'un des éléments d'une variable tpl
de type tuple
, on procède de l'une des façons suivantes :
tpl[i] avec i ≥ 0 |
Renvoie le iième élément de tpl en partant du début, le premier élément ayant la position 0. |
---|---|
tpl[i] avec i < 0 |
Renvoie le iième élément de tpl en partant de la fin, le dernier élément ayant la position -1. |
Exemple :
tpl = ('a', 'b', 'c', 'd')
elt1 = tpl[1] #La variable elt1 contient maintenant 'b'
elt2 = tpl[-2] #La variable elt2 contient 'c'
Pour extraire une partie d'une variable tpl
de type tuple
, on procède de l'une des façons suivantes :
tpl[i:j] |
Renvoie la portion de tpl du iième (compris) au jieme élément (non compris). |
---|---|
tpl[:j] |
Renvoie la portion de tpl du premier au jième élément (non compris). |
tpl[i:] |
Renvoie la portion de tpl du iième élément (compris) au dernier. |
tpl.index(x) |
Renvoie l'indice de la première occurrence de x dans tpl ou une erreur si x n'est pas dans tpl . |
---|---|
tpl.count(x) |
Renvoie le nombre d'occurrence de x dans tpl . |
random
pour les tuplesPour pouvoir utiliser les fonctions suivantes, le module random
doit être importé :
from random import *
choice(tpl) |
Renvoie un élément de tpl pris aléatoirement. |
---|---|
sample(tpl, n) |
Renvoie une liste contenant n éléments de tpl pris aléatoirement. |
for ... in
for
pour parcourir les valeursExemple : affichage des 10 premiers carré
tpl = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
for elt in tpl: #elt est une variable qui prend successivement les valeurs du tuple
print(elt, "^2"," = ", elt**2, sep="")
for
pour parcourir les positionsExemple : affichage d'une lettre sur deux de l'alphabet
tpl = ("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q","r", "s")
for i in range(len(tpl)): #i est une variable qui prend successivement les valeurs des positions
if i % 2 == 0:
print(tpl[i], end="")
Les conditions (utilisable avec if
ou while
) d'appartenance et de non-appartenance d'un objet à un tuple sont : in
et not in
.
Exemple :
tpl = ("a", "e", "i", "o", "u", "y")
caract = "b"
if caract in tpl:
print(caract, "est une voyelle")
if caract not in tpl:
print(caract, "n'est pas une voyelle")
Les tuples peuvent être utilisés pour affecter simultanément plusieurs valeurs à plusieurs variables.
Exemple : affectation multiple
a, b = 4, 5 # a contient 4 et b contient 5
Exemple : interversion des contenus de deux variables
a, b = 4, 5
a, b = b, a # cette ligne intervertit les valeurs de a et b
Remarque : dans les exemples ci-dessus, les parenthèses n'ont pas été utilisées, mais c'est bien avec des tuples que le programme travaille.
Exemple :
def double_et_triple(a):
return a*2, a*3
a, b = double_et_triple(5) # a contient 10 et b contient 15