Python Language
Tableaux multidimensionnels
Recherche…
Listes dans les listes
Un bon moyen de visualiser un tableau 2D est une liste de listes. Quelque chose comme ça:
lst=[[1,2,3],[4,5,6],[7,8,9]]
ici la liste extérieure lst
a trois choses en elle. chacune de ces choses est une autre liste: la première est: [1,2,3]
, la seconde est: [4,5,6]
et la troisième est: [7,8,9]
. Vous pouvez accéder à ces listes de la même manière que vous accéderiez à un autre élément d'une liste, comme ceci:
print (lst[0])
#output: [1, 2, 3]
print (lst[1])
#output: [4, 5, 6]
print (lst[2])
#output: [7, 8, 9]
Vous pouvez alors accéder aux différents éléments de chacune de ces listes de la même manière:
print (lst[0][0])
#output: 1
print (lst[0][1])
#output: 2
Ici, le premier chiffre entre crochets []
signifie que la liste se trouve dans cette position. Dans l'exemple ci-dessus, nous avons utilisé le nombre 0
pour obtenir la liste dans la position 0
qui est [1,2,3]
. Le deuxième ensemble de []
signifie que l’objet est dans cette position à partir de la liste interne. Dans ce cas, nous avons utilisé à la fois 0
et 1
la 0ème position dans la liste que nous avons est le numéro 1
et dans la 1ère position, il est 2
Vous pouvez également définir des valeurs dans ces listes de la même manière:
lst[0]=[10,11,12]
Maintenant, la liste est [[10,11,12],[4,5,6],[7,8,9]]
. Dans cet exemple, nous avons changé toute la première liste pour en faire une liste complètement nouvelle.
lst[1][2]=15
Maintenant, la liste est [[10,11,12],[4,5,15],[7,8,9]]
. Dans cet exemple, nous avons modifié un seul élément à l’intérieur d’une des listes internes. D'abord, nous sommes entrés dans la liste à la position 1 et nous avons changé l'élément à la position 2, qui était 6 maintenant, c'est 15.
Listes dans les listes dans les listes dans ...
Ce comportement peut être étendu. Voici un tableau à 3 dimensions:
[[[111,112,113],[121,122,123],[131,132,133]],[[211,212,213],[221,222,223],[231,232,233]],[[311,312,313],[321,322,323],[331,332,333]]]
Comme cela est probablement évident, cela devient un peu difficile à lire. Utilisez des barres obliques inversées pour diviser les différentes dimensions:
[[[111,112,113],[121,122,123],[131,132,133]],\
[[211,212,213],[221,222,223],[231,232,233]],\
[[311,312,313],[321,322,323],[331,332,333]]]
En imbriquant les listes comme ceci, vous pouvez étendre à des dimensions arbitrairement élevées.
L'accès est similaire aux tableaux 2D:
print(myarray)
print(myarray[1])
print(myarray[2][1])
print(myarray[1][0][2])
etc.
Et l'édition est également similaire:
myarray[1]=new_n-1_d_list
myarray[2][1]=new_n-2_d_list
myarray[1][0][2]=new_n-3_d_list #or a single number if you're dealing with 3D arrays
etc.