Compréhension des listes imbriquées
Parfait ! À ce stade, vous avez une bonne connaissance de la syntaxe de base des compréhensions de listes. Poussons un peu plus loin vos compétences en matière d'écriture de code. Dans cet exercice, vous écrirez une compréhension de liste à l'intérieur d' une autre compréhension de liste, ou des compréhensions de liste imbriquées. Cela semble un peu difficile, mais vous pouvez le faire !
Laissons un peu de côté les chaînes de caractères. Les listes peuvent notamment être utilisées pour représenter des objets multidimensionnels tels que les matrices. Les matrices peuvent être représentées comme une liste de listes en Python. Par exemple, une matrice 5 x 5 avec les valeurs 0
à 4
dans chaque ligne peut être écrite comme suit :
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 consiste à recréer cette matrice en utilisant des listes de compréhension imbriquées. Rappelez-vous que vous pouvez créer une des lignes de la matrice avec une seule compréhension de liste. Pour créer une liste de listes, il vous suffit de fournir la compréhension de liste comme expression de sortie de la compréhension de liste globale :
[
[expression de sortie] for
itérateur variable in
itérable]
Notez qu'ici, l'expression de sortie est elle-même une liste de compréhension.
Cet exercice fait partie du cours
Boîte à outils Python
Instructions
- Dans la compréhension de liste interne - c'est-à-dire l'expression de sortie de la compréhension de liste imbriquée - créez une liste de valeurs de
0
à4
en utilisantrange()
. Utilisezcol
comme variable d'itération. - Dans la partie itérable de votre compréhension de liste imbriquée, utilisez
range()
pour compter 5 lignes - c'est-à-dire, créez une liste de valeurs de0
à4
. Utilisezrow
comme variable itératrice ; notez que vous n'aurez pas besoin de cette variable pour créer des valeurs dans la liste des 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)