CommencerCommencer gratuitement

Compréhensions de listes imbriquées

Parfait ! À ce stade, vous maîtrisez bien la syntaxe de base des compréhensions de listes. Poussons un peu plus vos compétences en écriture de code. Dans cet exercice, vous allez écrire une compréhension de liste à l’intérieur d’une autre compréhension de liste, autrement dit des compréhensions de listes imbriquées. Cela peut sembler un peu délicat, mais vous allez y arriver !

Mettons de côté les chaînes de caractères un instant. L’une des utilisations des listes est la représentation d’objets multidimensionnels comme les matrices. En Python, on peut représenter une matrice par une liste de listes. Par exemple, une matrice 5 x 5 avec les valeurs de 0 à 4 sur chaque ligne peut s’écrire :

matrix = [[0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4],
          [0, 1, 2, 3, 4]]

Votre tâche est de recréer cette matrice en utilisant des compréhensions de listes imbriquées. Rappelez-vous que vous pouvez créer l’une des lignes de la matrice avec une seule compréhension de liste. Pour créer la liste de listes, il vous suffit de fournir cette compréhension de liste comme expression de sortie de la compréhension globale :

[[output expression] for iterator variable in iterable]

Notez qu’ici, l’expression de sortie est elle-même une compréhension de liste.

Cet exercice fait partie du cours

Boîte à outils Python

Afficher le cours

Instructions

  • Dans la compréhension de liste interne, c’est-à-dire l’expression de sortie de la compréhension imbriquée, créez une liste de valeurs de 0 à 4 en utilisant range(). Utilisez col comme variable d’itération.
  • Dans la partie itérable de votre compréhension de liste imbriquée, utilisez range() pour compter 5 lignes — autrement dit, créez une liste de valeurs de 0 à 4. Utilisez row comme variable d’itération ; notez que vous n’aurez pas besoin de cette variable pour créer les valeurs dans la liste de listes.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Create a 5 x 5 matrix using a list of lists: matrix
matrix = [[____] ____]

# Print the matrix
for row in matrix:
    print(row)
Modifier et exécuter le code