Les tuples en Python
Sommaire
- 1- Les tuples en Python
- 2- Objectifs
- 3- Présentation
- 4- Création de tuple en Python
- 5- Opérations de base sur les tuples
- 6- Comment accéder à un tuple en Python?
- 6.1- Par indexation positive
- 6.2- Par indexation négative
- 6.3- Via l'opérateur de tranchage
- 6.4- Par la boucle for
- 7- Quelques opérations
- 7.1- Utilisation de tuples dans les fonctions comme valeurs de retour
- 7.2- Comment faire disparaître un élément d'un tuple Python
- 7.3- Comment obtenir le nombre de fois qu'une valeur spécifiée apparaît dans un tuple Python
- 8- Applications
- 8.1- Énoncé
- 8.2- Solution
- 8.2.1- Sommaire du cours Python
Les tuples en Python
-
Objectifs
- Connaître les tuples en Python, savoir l’utiliser.
-
Présentation
- Les tuples sont constitués de plusieurs éléments, tout comme une liste, mais ils ne sont pas modifiables.
- Un tuple est une liste qui ne peut plus être modifiée.
- Les différences entre les tuples et les listes sont que 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.
- Les éléments d’un tuple peuvent être de n’importe quel type de données Python valide allant des nombres , des chaînes , des listes, etc.
-
Création de tuple en Python
- Du point de vue de la syntaxe, un tuple est une collection d’éléments séparés par des virgules.
- Pour créer un tuple mettre les différentes valeurs qui le composent séparées par des virgules. Ou mettre ces valeurs séparées par des virgules entre parenthèses.
- Le tuple vide est écrit comme deux parenthèses ne contenant rien :
tuple1 = ()
; - Pour écrire un tuple contenant une seule valeur, vous devez inclure une virgule, même s’il n’y a qu’une seule valeur :
tuple1 = (2, )
; -
Opérations de base sur les tuples
- Les opérations que l’on peut effectuer sur des tuples sont syntaxiquement similaires à celles que l’on effectue sur les listes, si ce n’est que les tuples ne sont pas modifiables :
- Les tuples répondent aux opérateurs
+
et*
un peu comme des chaînes; ils signifient ici aussi la concaténation et la répétition, sauf que le résultat est un nouveau tuple, pas une chaîne. -
Comment accéder à un tuple en Python?
- Pour accéder aux valeurs dans un tuple, Python fournit divers mécanismes intuitifs pour le faire.
-
Par indexation positive
- Il existe plusieurs façons d’accéder aux éléments présents dans le tuple en Python. À l’aide d’un index, nous pouvons accéder aux éléments du tuple.
- L’index commence à 0 et l’index doit toujours être un entier. Si nous utilisons un index autre qu’un entier comme float, cela entraînera TypeError.
-
Par indexation négative
- Il est possible d’accéder aux éléments d’un tuple Python en utilisant un indice négatif.
- Un indice négatif commencera toujours à -1 et -1 se réfère au dernier élément et -2 se réfère au dernier élément de seconde et donc le long.
-
Via l’opérateur de tranchage
- En utilisant l’opérateur (
:
), nous pouvons accéder à une plage d’éléments à partir du tuple. - Le signe deux-points, c’est-à-dire un (
:
), représente l’opérateur de découpage en Python. - Accès aux éléments en quittant le premier
- Accès aux éléments entre les première et cinquième positions
- Accéder aux éléments après la cinquième position
- Accès aux cinq premiers éléments
- Accès aux éléments qui apparaissent après cinq à partir de l’arrière
- Accéder à cinq éléments par l’arrière
- Accéder aux éléments du début à la fin
-
Par la boucle for
- On peut également accéder aux éléments présents dans le tuple en utilisant la boucle for.
-
Quelques opérations
-
Utilisation de tuples dans les fonctions comme valeurs de retour
- En général, une fonction ne renvoie qu’une seule valeur. Cependant, nous pouvons introduire un tuple et le définir comme valeur de retour pour la fonction.
-
Comment faire disparaître un élément d’un tuple Python
- Par définition, l’objet tuple est immuable. Par conséquent, il n’est pas possible d’en supprimer un élément. Cependant, une solution de contournement serait de convertir un tuple en liste, de supprimer l’élément souhaité de la liste et de le reconvertir en tuple.
-
Comment obtenir le nombre de fois qu’une valeur spécifiée apparaît dans un tuple Python
- La méthode
count ()
renvoie le nombre de fois qu’une valeur spécifiée apparaît dans le tuple. -
Applications
-
Énoncé
- Quelle est la différence entre un tuple Python et une liste Python?
- Les listes sont modifiables et les tuples ne sont pas modifiables
- Les tuples peuvent être développés après leur création et les listes ne peuvent pas
- Les listes conservent l’ordre des éléments et les tuples ne maintiennent pas l’ordre
- Les listes sont indexées par des entiers et les tuples sont indexés par des chaînes
-
Solution
- Les listes sont modifiables et les tuples ne sont pas modifiables
tuple1 = ('Chocolat', 'Pain', 123, 12.5)
tuple2 = (1, 2, 3, 4, 5 )
tuple3 = "a", "b", "c", "d"
L’utilisation des parenthèses n’est pas nécessaire, mais il est vivement conseillé de mettre le tuple en évidence en l’enfermant dans une paire de parenthèses. Il s’agit simplement d’améliorer la lisibilité du code, mais vous savez que c’est important.
tuple1 = (3, 5, 6.7, "Python")
print("Le quatrième élément du Tuple est:", tuple1[3])
###Production:###
Le quatrième élément du Tuple est: Python
Rappelez-vous toujours que l’indexation positive est utilisée pour itérer les éléments d’un tuple de manière avant, alors que l’indexation négative suit la manière arrière.
tuple1 = (3, 5, 6.7, "Python")
print("Le dernier élément du tuple est:", tuple1[-1])
###Production:###
Le quatrième élément du Tuple est: Python
tuple1 = (3, 5, 6.7, "Python")
print("Les éléments du 2ème au 4ème sont:", tuple1[1:4])
lesMois = ('Janvier', 'Février', 'Mars', 'Avril', 'Mai',
'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre',
'Novembre', 'Décembre')
print(lesMois[1:])
"""Production:
('Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet',
'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre')
"""
lesMois = ('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai',
'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre',
'Novembre', 'Décembre')
print(lesMois[1: 5])
"""Production:
('Fevrier', 'Mars', 'Avril', 'Mai')
"""
lesMois = ('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai',
'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre',
'Novembre', 'Décembre')
print(lesMois[5:])
"""Production:
('Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre')
"""
lesMois = ('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai',
'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre',
'Novembre', 'Décembre')
print(lesMois[: 5])
"""Production:
('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai')
"""
lesMois = ('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai',
'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre',
'Novembre', 'Décembre')
print(lesMois[: -5])
"""Production:
('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet')
"""
lesMois = ('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai',
'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre',
'Novembre', 'Décembre')
print(lesMois[-5:])
"""Production:
('Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre')
"""
lesMois = ('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai',
'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre',
'Novembre', 'Décembre')
print(lesMois[:])
"""Production:
('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai',
'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre',
'Novembre', 'Décembre')
"""
lesMois = ('Janvier', 'Fevrier', 'Mars', 'Avril', 'Mai',
'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre',
'Novembre', 'Décembre')
for element in lesMois:
print(element, end=', ')
"""Production:
Janvier, Fevrier, Mars, Avril, Mai,
Juin, Juillet, Août, Septembre, Octobre,
Novembre, Décembre,
"""
def square(n1, n2):
return (n1*n1, n2*n2, n1*n2)
print(square(4, 6))
"""
Production:
(16, 36, 24)
"""
aTuple=(1, 2, 3, 4, 5, 6, 7)
aListe=list(aTuple)
print('Tuple de départ',aTuple)
#Production: Tuple de départ (1, 2, 3, 4, 5, 6, 7)
print('Liste de départ',aListe)
#Production: Liste de départ [1, 2, 3, 4, 5, 6, 7]
aListe.pop(1)
print('Liste sans le deuxième élément',aListe)
#Production:Liste sans le deuxième élément [1, 3, 4, 5, 6, 7]
aTuple=tuple(aListe)
print('Nouveau tuple',aTuple)
#Production: Nouveau tuple (1, 3, 4, 5, 6, 7)
telephones = ("iphone", "samsung", "iphone", "iphone")
print(telephones.count("iphone"))
#Production:3