Nous avons vu qu’une liste est une séquence qui contient plusieurs éléments accessibles via des indices. Ces indices sont des valeurs numériques que l’on place entre crochets afin de spécifier la position de l’élément auquel on souhaite avoir accès. Nous avons aussi vu que ces éléments-là peuvent être de types différents, que ce soit des types de base comme les entiers ou les booléens, ou encore des types construits comme les tuples, ou les dictionnaires.
S’il se trouve qu’un élément de la liste soit aussi une liste, alors on parle de listes imbriquées, autrement dit, des listes à deux dimensions.
Créer une liste à deux dimensions
Supposons que l’on dispose de la liste identifiée par lst définie comme ceci:
lst = [10,"Salut",["A","B","C"]]
Puisque la liste lst contient une liste parmi ses éléments, alors il s’agit d’une liste à deux dimensions. En effet, si on veut accéder aux valeurs 10 et "Salut", nous avons besoin de spécifier un seul indice et qui prend respectivement les valeurs 0 et 1.
Si on spécifie l’indice 2, alors on récupère la liste qui contient les valeurs A, B et C. Nous allons désigner cette dernière par liste secondaire.
Mais si on veut accéder à la lettre A seulement, alors il faut spécifier son indice dans la liste secondaire, c’est-à-dire 0. Donc, on imagine que cette fois, nous aurons deux crochets pour la liste lst, le premier contient l’indice 2 pour indiquer le troisième élément qui est une liste, et le deuxième contient l'indice 0 qui indique la position de la lettre A au sein de la liste secondaire. Donc le fait de parler d’une liste à deux dimensions sous-entend systématiquement qu’on aura besoin de deux crochets pour accéder un à élément.
Si on veut accéder à la lettre B alors on fait lst[2][1], et pour avoir accès à la lettre C on met lst[2][2].