Tuples Python : séquences immuables et déballage

Comprendre les tuples Python. Découvrez quand utiliser des tuples sur des listes, comment fonctionne le décompression des tuples et comment l'immuabilité garantit la sécurité des données.

Essayez dans l'éditeur

Aperçu

Un Tuple est une séquence ordonnée et immuable d’éléments en Python. Contrairement aux listes, qui sont mises entre crochets `[]` et peuvent être modifiées, les tuples sont mis entre parenthèses `()` et ne peuvent pas être modifiés une fois créés. Toute tentative d'ajout, d'ajout, de suppression ou de réaffectation d'éléments dans un tuple entraînera une erreur d'exécution. Cette immuabilité agit comme un élément de sécurité, garantissant que les données transmises dans votre application restent constantes et sécurisées.

Les tuples étant immuables, ils sont plus rapides que les listes et utilisent moins de mémoire. Ils sont également hachables (à condition que tous les éléments du tuple soient hachables), ce qui leur permet d'être utilisés comme clés dans des dictionnaires ou comme éléments dans des ensembles (une liste de fonctionnalités ne prend pas en charge). Les tuples sont traditionnellement utilisés pour regrouper des enregistrements de données hétérogènes, par exemple pour représenter une ligne de base de données, des coordonnées ou des valeurs de couleur RVB.

L’une des fonctionnalités les plus élégantes des tuples est le Tuple Unpacking. Cela vous permet d'attribuer des éléments d'un tuple à des variables individuelles sur une seule ligne (par exemple, « x, y = coordonnées »). Il est largement utilisé lors du renvoi de plusieurs valeurs à partir d’une fonction. Python permet également l'échange dynamique de variables en utilisant le déballage (`a, b = b, a`) sans avoir besoin d'une troisième variable temporaire, ce qui rend votre code beaucoup plus propre et plus facile à suivre.

Sortie de code et d'exécution

Création de coordonnées sous forme de tuples, démonstration des limites d'immuabilité et déballage des éléments.

# Creating tuples
location = (40.7128, -74.0060)  # NYC Coordinates
print(f"Latitude: {location[0]}, Longitude: {location[1]}")

# Tuple unpacking
lat, lon = location
print(f"Unpacked Lat: {lat} | Unpacked Lon: {lon}")

# Function returning multiple values
def get_user_info():
    return "Alice", 25, "admin"

name, age, role = get_user_info()
print(f"{name} ({role}) is {age} years old.")
Sortie terminale
Latitude: 40.7128, Longitude: -74.006
Unpacked Lat: 40.7128 | Unpacked Lon: -74.006
Alice (admin) is 25 years old.

Mise en œuvre étape par étape

  • Renvoyer plusieurs valeurs proprement à partir de fonctions d'assistance
  • Stockage de constantes telles que des coordonnées, des couleurs ou des enregistrements de base de données
  • Définition de clés de dictionnaire immuables pour les mappages multidimensionnels

Foire aux questions

Comment définir un tuple avec un seul élément ?

Vous devez inclure une virgule après l'élément, par exemple, single_item = (42,). Sans la virgule, Python le traite comme une expression standard entre parenthèses.

Pouvez-vous modifier une liste imbriquée dans un tuple ?

Oui. Bien que la référence de tuple elle-même soit immuable, si elle contient des objets mutables comme des listes, vous pouvez modifier le contenu de ces listes sur place.

Sujets connexes

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.