Lorsqu'on travaille avec des listes 2D, il est également possible d'itérer sur des objets avec une compréhension de liste.
grid = [
[10, 20, 30],
[40, 50, 60],
]
squared = [[i * i for i in row] for row in grid]
print(squared)
# [[100, 400, 900], [1600, 2500, 3600]]
Ici, la boucle externe parcourt le grid ligne par ligne. Ensuite, nous itérons sur chaque élément d'une ligne.
Dans le cas où nous ne souhaitons pas obtenir une liste 2D en résultat, nous pouvons aplatir le grid en omettant les crochets internes et en déplaçant le for i in row en dehors de la boucle interne. Nous itérons d'abord sur le grid avec for row in grid, puis sur chaque élément avec for i in row :
grid = [
[10, 20, 30],
[40, 50, 60],
]
squared = [i * i for row in grid for i in row]
print(squared)
# [100, 400, 900, 1600, 2500, 3600]
Challenge
Pouvez-vous utiliser une compréhension de liste pour afficher toutes les coordonnées d'un échiquier ?
Les nombres vont de 1 à 8, et les lettres sont A B C D E F G H. La numérotation se présente comme A1 B1 C1 ... H1, la ligne suivante est A2 B2 C2 ... H2, etc. Affichez chaque ligne séparément.