Il est possible de combiner listes, tuples et dictionnaires. De plus, avec la syntaxe des compréhensions en Python, l’écriture des listes et des dictionnaires est rendue particulièrement compacte et élégante.
I. Les structures imbriquées
1) Construction des structures imbriquées
On peut imbriquer des listes, des tuples et des dictionnaires. La seule règle est qu’une clé de dictionnaire doit être hachable, c’est-à-dire récursivement non mutable.
On peut donc construire des listes de listes, des listes de tuples, des listes de dictionnaires, des tuples de listes, des tuples de dictionnaires, des dictionnaires ayant des listes ou des tuples comme valeurs…
Exemple :
• Création d’une liste de 3 tuples (représentant des points du plan donnés par leur abscisse et leur ordonnée) :
• Chaque élément de la liste est un tuple :
• On peut accéder directement à l’abscisse ou l’ordonnée d’un point du plan. Valeur numéro 1 du tuple 2 de la liste :
2) Parcours d’une structure imbriquée
Le parcours d’une structure imbriquée nécessite plusieurs boucles.
Exemple : On définit une liste de dictionnaires.
II. Les compréhensions
La notation en compréhension permet de créer une liste ou un dictionnaire sans en énumérer explicitement les éléments.
1) Listes en compréhension
Création d’une liste en compréhension.
Exemple : Liste des nombres entiers de 2 à 10 inclus.
Application d’une fonction à chaque élément.
Exemple : Liste des carrés des nombres entiers de 2 à 10 inclus.
Filtrage des éléments en fonction d’une condition.
Exemple : Liste des carrés des nombres entiers de 2 à 50 inclus qui se terminent par le chiffre 9.
2) Dictionnaires en compréhension
Pour les dictionnaires, la syntaxe est équivalente. Il faut préciser la clé et la valeur pour chaque élément.
Exemple : Dictionnaire contenant pour les clés, les nombres entiers de 2 à 10 inclus, et pour les valeurs associées, le cube de la clé.