Structures imbriquées et compréhensions

Signaler

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) :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_28

• Chaque élément de la liste est un tuple :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_29

• 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 :

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_30

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.

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_31

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_18

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.

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_21

Application d’une fonction à chaque élément.

Exemple : Liste des carrés des nombres entiers de 2 à 10 inclus.

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_23

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.

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_25

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é.

PB_Bac_05230_numerique1_TT_p083-110_C03_Groupe_Schema_27