Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Modèles Avancés de Regroupement et de Dégroupement | Packing et Unpacking en Python
Concepts de Programmation Fonctionnelle en Python

bookModèles Avancés de Regroupement et de Dégroupement

Glissez pour afficher le menu

Le déballage étendu en Python permet de capturer plusieurs éléments d'une séquence dans une seule variable à l'aide de l'opérateur *. Cette technique est particulièrement utile lorsque vous souhaitez affecter les premiers et derniers éléments à des variables spécifiques et regrouper les éléments restants entre les deux.

Note
Remarque

L'opérateur * indique à Python de collecter tous les éléments restants qui n'ont pas été attribués à d'autres variables.

123456
numbers = [1, 2, 3, 4, 5] first_val, *middle_vals, last_val = numbers print("first_val:", first_val) print("*middle_vals:", middle_vals) print("last_val:", last_val)
copy

Dans ce cas, *middle_vals capture tous les éléments entre le premier et le dernier, donc middle_vals devient [2, 3, 4].

Dans l'affectation :

a, *b, c = [1, 2, 3, 4, 5]

  • La variable a reçoit la première valeur ;
  • c reçoit la dernière ;
  • b regroupe toutes les valeurs intermédiaires.

Cette approche rend le code plus flexible et expressif, en particulier lors du traitement de séquences de longueur inconnue ou variable. Le dépaquetage étendu ne se limite pas aux listes ; il fonctionne avec tout itérable, y compris les tuples et même les chaînes de caractères. Maîtriser ces schémas permet d'écrire un code plus clair, plus lisible et qui s'adapte facilement aux changements de structure des données.

question mark

Que capture la variable *c dans l'affectation a, b, *c = [1, 2, 3, 4, 5] ?

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 5

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 5
some-alt