Regroupement et dégroupement des listes et des tuples
Glissez pour afficher le menu
Le packing et l’unpacking avec l’opérateur * constituent une fonctionnalité puissante de Python permettant d’écrire du code concis et flexible, en particulier lors de la manipulation de listes et de tuples. Le packing consiste à regrouper plusieurs valeurs dans une seule variable, tandis que l’unpacking sépare une collection en variables ou éléments individuels. Cette méthode rend le code plus lisible et permet de gérer un nombre dynamique de valeurs lors des affectations et des appels de fonctions. Grâce à l’opérateur *, il est facile d’étendre ou de combiner des séquences, rendant le code à la fois lisible et efficace.
Ce code illustre comment décomposer un tuple en variables et regrouper plusieurs valeurs dans un tuple à l’aide de l’opérateur *.
L’unpacking attribue chaque élément d’un tuple à une variable distincte, tandis que le packing rassemble les éléments restants dans une liste.
1234567891011# Unpacking a tuple into variables coordinates = (10, 20) coord_x, coord_y = coordinates print("x:", coord_x) print("y:", coord_y) # Packing multiple values into a tuple first_val, second_val, *rest = (1, 2, 3, 4, 5) print("first_val:", first_val) print("second_val:", second_val) print("rest:", rest)
Le code déballe une liste en arguments individuels lors de l'appel d'une fonction. Cela permet de passer une séquence comme arguments séparés, rendant les appels de fonction plus flexibles.
1234567# Using * to unpack a list into a function call def add_three_numbers(a, b, c): return a + b + c numbers = [2, 4, 6] result = add_three_numbers(*numbers) print(result)
1. Que fait l'opérateur * lorsqu'il est utilisé dans un appel de fonction avec une liste ?
2. Laquelle des propositions suivantes est une manière correcte de décompresser un tuple de trois éléments dans trois variables en Python ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion