Tuples en Python : comment créer des listes non modifiables

Les tuples en Python (« n-uplets » en français) sont des collections de données différentes ou identiques qui sont désignées par un index et qui ne peuvent pas être modifiées (on dit qu’elles sont « non mutables »). Les tuples Python sont créés comme des listes classiques dans le langage de programmation Web.

Hébergement Web avec conseiller personnel !

Hébergement Web puissant, flexible et performant avec boîte email, conseiller personnel et domaine inclus la 1ère année !

Domaine
Certificat SSL
Assistance 24/7

Que sont les tuples en Python ?

À première vue, les tuples en Python ressemblent à des exemples bien connus de lists Python. Les deux sont des listes qui contiennent beaucoup de différents contenus, peuvent les stocker et les présenter ainsi de manière structurée. Mais une différence subsiste : le contenu d’un tuple Python est immuable (non modifiable). En d’autres termes, une fois que les tuples Python sont remplis de contenu, celui-ci reste identique et ne peut pas être supprimé. Ceci est particulièrement utile si ce contenu est composé de constantes qui doivent être conservées dans leur forme et leur composition actuelles. Quand vous utilisez des tuples Python, vous pouvez être assuré que leur contenu est présenté dans sa forme originale.

Comment les tuples Python sont-ils créés ?

Les tuples Python sont déclarés entre parenthèses et leurs contenus sont séparés par des virgules. La fonction print est utilisée pour la sortie. Un tuple est rédigé comme suit :

tup = ("première_valeur", "deuxième_valeur", "troisième_valeur")
print(tup)

Il est également possible de déclarer un tuple avec un seul élément. Dans ce cas, cependant, il est important de placer une virgule derrière l’élément, sinon le programme ne peut pas reconnaître un tuple et l’interprète plutôt comme une chaîne entre parenthèses. Voici la notation correcte dans un tel cas :

tup = ("valeur_unique",)
print(tup)

Exemples de tuples Python

Si vous voulez ainsi créer des tuples Python, utilisez des parenthèses à cet effet, et placez toutes les informations importantes dans le bon ordre. Comme mentionné précédemment, les tuples Python peuvent contenir différents types de données. De simples Python strings sont ainsi possibles :

animaux = ("Chien", "Chat", "Souris")

Valeurs numériques :

chiffres = (4, 17, 39, 12)

Valeurs booléennes :

booléens = (False, False, True, False)

Un mélange est également possible :

personne = ("Jacques", "Dupond", 1974, True)

Adresser des éléments dans les tuples Python

Comme les éléments individuels d’un tuple Python sont définis par un index, ils peuvent être adressés et lus sans difficulté. Le processus est similaire à une liste normale et est démarré par des crochets. Par exemple :

animaux = ("Chien", "Chat", "Souris")
print(animaux[1])

La deuxième valeur de ce tuple Python est « chat », donc le mot est retourné après cette requête.

Procédez comme suit pour lire plusieurs valeurs :

animaux = ("Chien", "Chat", "Souris", "Serpent", "Cheval")
print(animaux[1:3])

La sortie est maintenant :

('Chat', 'Souris', 'Serpent')

Déterminer la longueur d’un tuple Python

Pour déterminer la longueur d’un tuple Python, utilisez la fonction len. Cela fonctionne comme suit :

animaux = ("Chien", "Chat", "Souris", "Serpent", "Cheval")
print(len(animaux))

En sortie, vous obtiendrez un « 5 » pour les cinq valeurs contenues.

Modifier les tuples Python

Les tuples Python ne peuvent pas être modifiés ni enrichis de nouveaux éléments. Pour mettre à jour un tuple existant, vous pouvez créer un nouveau tuple et le remplir avec de nouvelles valeurs et le tuple d’origine. Ceci fonctionne avec l’opérateur +. En voici un exemple :

quelques_animaux = ("Chien", "Chat", "Souris", "Serpent", "Cheval")
tous_animaux = quelques_animaux + ("Hamster", "Girafe")
print(tous_animaux)

La sortie est maintenant :

Convertir les tuples Python en listes

Cependant, si certaines valeurs d’un tuple Python ne sont plus à jour, la méthode expliquée ci-dessus ne permet pas non plus d’avancer. Vous devez vous recourir à une alternative car il n’est pas possible de modifier les valeurs dans un tuple Python. La liste classique offre cette possibilité. En convertissant un tuple en liste, vous pouvez modifier à nouveau les valeurs existantes. Cela fonctionne comme suit :

animaux = ("Chien", "Chat", "Souris", "Serpent", "Cheval")
liste_animaux = list(animaux)
liste_animaux[2] = "Éléphant"
print(tier_liste)

Nous avons maintenant le résultat suivant :

['Chien', 'Chat', 'Éléphant', 'Serpent', 'Cheval']

Convertir des listes en tuples Python

Mais cela fonctionne aussi dans le sens inverse. Si vous avez créé une liste et souhaitez conserver les valeurs correspondantes dans leur forme actuelle, vous pouvez également convertir des listes en tuples Python. Dans l’exemple suivant, nous convertissons une liste en tuple, puis nous interrogeons le type de données du tuple Python par mesure de sécurité :

liste_couleur = ["bleu", "rouge", "jaune", "orange"]
couleurs = tuple(liste_couleur)
print(couleurs)
print(type(couleurs))

La sortie se présente ensuite comme suit :

("bleu", "rouge", "jaune", "orange")
<class 'tuple'=""></class>

Pour supprimer un tuple

Bien que vous ne puissiez pas supprimer des éléments individuels d’un tuple, vous pouvez quand même supprimer la liste entière non modifiable. Pour ce faire, utilisez la commande del. Voici le code correspondant :

animaux = ("Chien", "Chat", "Souris", "Serpent", "Cheval")
del animaux

Fonctions intégrées

Seules deux fonctions intégrées pour les tuples Python existent : index et count.

Fonction index pour les tuples Python

Vous interrogez l’index d’une valeur spécifique avec index. Voici le code correspondant :

animaux = ("Chien", "Chat", "Souris", "Serpent", "Cheval")
animaux.index("Serpent")

Dans ce cas, la sortie serait « 3 ».

La fonction count pour les tuples Python

Avec count, vous pouvez interroger la fréquence à laquelle un élément se présente dans le tuple Python. En voici un exemple :

animaux = ("Chien", "Chat", "Souris", "Serpent", "Cheval")
animaux.count("Chien")

Dans ce cas, la réponse est « 1 ».