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- TP
- 8.1- Objectifs :
- 8.2- Étapes à suivre :
- 8.2.1- Sommaire du cours Python
Les tuples en Python
-
Objectifs
- Comprendre ce qu’est un tuple en Python.
- Savoir créer des tuples.
- Connaître les méthodes et opérations courantes sur les tuples.
-
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. -
TP
-
Objectifs :
- Comprendre ce qu’est un tuple en Python.
- Savoir créer des tuples.
- Connaître les méthodes et opérations courantes sur les tuples.
-
Étapes à suivre :
- 1- Créer un tuple nommé « nombres » contenant 5 nombres aléatoires compris entre 1 et 100 (inclus).
- 2- Imprimer le premier et le dernier élément du tuple en utilisant l’indexation.
- nombres[0] fait référence au premier élément du tuple.
- nombres[-1] fait référence au dernier élément du tuple. Le -1 représente l’index du dernier élément, le -2 représente l’avant-dernier élément, et ainsi de suite.
- 3- Créer un tuple contenant les noms de 5 de vos fruits préférés.
- 4- Imprimer le deuxième et le troisième élément du tuple en utilisant l’indexation.
- 5- Concaténer les deux tuples précédents pour créer un nouveau tuple contenant les nombres et les noms de fruits.
- Pour concaténer les deux tuples précédents, c’est-à-dire le tuple « nombres » contenant les nombres aléatoires et le tuple « fruits » contenant les noms de fruits préférés, nous pouvons utiliser l’opérateur + pour créer un nouveau tuple qui contient tous les éléments des deux tuples, comme suit:
- 6-
- 6.1 Refaire la question numéro 1 pour générer 20 nombres.
- 6.2 Utiliser la méthode count() pour compter le nombre de fois que le nombre 3 apparaît dans le premier tuple.
- 7- Utiliser la méthode index() pour trouver l’index de la première occurrence du nombre 3 dans le tuple.
- 8- Utiliser la méthode index() pour vérifier si le nombre 3 existe si il existe trouver l’index de la première occurrence du nombre 3 dans le tuple nombres.
- 9- Utiliser la méthode sorted() pour trier le tuple nombres dans l’ordre croissant.
- 10- Utiliser l’opérateur in pour vérifier si le nombre 5 est présent dans le tuple nombres.
- 11- Utiliser la fonction len() pour connaître la longueur du deuxième tuple.
- 12- Créer un tuple vide.
- 13- Ajouter le nombre 1 à la fin du tuple vide en utilisant la méthode append().
- Il n’est pas possible d’ajouter un élément à un tuple car les tuples sont immuables en Python, c’est-à-dire qu’une fois qu’ils sont créés, ils ne peuvent pas être modifiés. Si vous avez besoin d’un conteneur mutable, vous pouvez utiliser une liste à la place.
- 14- Ajouter le nombre 2 à la fin du tuple en utilisant l’opérateur +.
- Il n’est pas possible d’ajouter un élément à un tuple car les tuples sont immuables en Python, c’est-à-dire qu’une fois qu’ils sont créés, ils ne peuvent pas être modifiés. Si vous avez besoin d’un conteneur mutable, vous pouvez utiliser une liste à la place.
- 15-Écrire un programme Python qui prend un tuple de nombres (3, 5, 8, 9, 7, 14, 2) et renvoie le produit de tous les éléments.
- 16-Écrire un programme Python qui demande à l’utilisateur de saisir un entier compris entre 10 et 20. Cet entier représente la longueur de deux tuples remplis avec des nombres aléatoires à l’aide de la fonction random.sample(). Ensuite, le programme calcule la somme de chaque paire d’éléments correspondants dans les deux tuples et renvoie un nouveau tuple contenant les résultats.
- Exemple: n= 11; t1=(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11); t2=(11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1); t_resultat=(12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12)
- 17-: Écrire un programme Python qui prend un tuple de chaînes de caractères et renvoie la chaîne de caractères la plus longue.
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
import random
nombres = tuple(random.sample(range(1, 101), 5))
print(nombres)
print(nombres[0]) # affiche 25
print(nombres[-1]) # affiche 15
fruits = ('banane', 'mangue', 'fraise', 'ananas', 'kiwi')
print(fruits)
print(fruits[1]) # affiche "mangue"
print(fruits[2]) # affiche "fraise"
import random
nombres = tuple(random.sample(range(1, 101), 5))
fruits = ('banane', 'mangue', 'fraise', 'ananas', 'kiwi')
nombres_et_fruits = nombres + fruits
print(nombres_et_fruits)
import random
nombres = tuple(random.sample(range(1, 101), 20))
# Utiliser la méthode count() pour compter le nombre de fois que le nombre 3 apparaît
nombre_de_3 = nombres.count(3)
# Afficher le résultat
print("Le nombre de fois que le nombre 3 apparaît dans le tuple est :", nombre_de_3)
# Utiliser la méthode index() pour trouver l'index de la première occurrence du nombre 3
index_3 = nombres.index(3)
# Afficher le résultat
print("L'index de la première occurrence du nombre 3 dans le tuple est :", index_3)
# Vérifier si le nombre 3 existe dans le tuple
if 3 in nombres:
# Trouver l'index de la première occurrence du nombre 3 dans le tuple
index_3 = nombres.index(3)
print("Le nombre 3 existe dans le tuple à l'index :", index_3)
else:
print("Le nombre 3 n'existe pas dans le tuple.")
# Trier le tuple dans l'ordre croissant en utilisant la méthode sorted()
nombres_tries = sorted(nombres)
# Afficher le tuple trié
print("Le tuple trié dans l'ordre croissant est :", nombres_tries)
# Vérifier si le nombre 5 est présent dans le tuple
if 5 in nombres:
print("Le nombre 5 est présent dans le tuple.")
else:
print("Le nombre 5 n'est pas présent dans le tuple.")
# Utiliser la fonction len() pour connaître la longueur du tuple
longueur = len(nombres)
# Afficher la longueur du tuple
print("La longueur du tuple est :", longueur)
# Créer un tuple vide
mon_tuple = ()
# Afficher le tuple
print(mon_tuple)
# Définir le tuple de nombres
nombres = (3, 5, 8, 9, 7, 14, 2)
# Initialiser le produit à 1
produit = 1
# Calculer le produit de tous les éléments du tuple
for n in nombres:
produit *= n
# Afficher le produit
print("Le produit de tous les éléments est :", produit)
import random
while True:
n = input("Veuillez saisir un entier entre 10 et 20 inclus (ou 'Q' pour quitter) : ")
if n.lower() == "q":
print("Au revoir !")
break
try:
n = int(n)
if n < 10 or n > 20:
print("Veuillez saisir un entier entre 10 et 20 inclus.")
else:
t1 = tuple(random.sample(range(100), n))
t2 = tuple(random.sample(range(100), n))
t3 = tuple(x + y for x, y in zip(t1, t2))
print("Tuple 1 :", t1)
print("Tuple 2 :", t2)
print("Somme des tuples :", t3)
except ValueError:
print("Veuillez saisir un entier entre 10 et 20 inclus, ou 'Q' pour quitter.")
# Définir le tuple de chaînes de caractères
chaines = ("chat", "chien", "oiseau", "elephant", "souris")
# Initialiser la chaîne la plus longue à la première chaîne du tuple
plus_longue_chaine = chaines[0]
# Trouver la chaîne la plus longue
for chaine in chaines:
if len(chaine) > len(plus_longue_chaine):
plus_longue_chaine = chaine
# Afficher la chaîne la plus longue
print("La chaîne de caractères la plus longue est :", plus_longue_chaine)