A good way to visualize a 2d array is as a list of lists. Something like this:
here the outer list
lst has three things in it. each of those things is another list:
The first one is:
[1,2,3], the second one is:
[4,5,6] and the third one is:
[7,8,9]. You can access these lists the same way you would access another other element of a list, like this:
print (lst) #output: [1, 2, 3] print (lst) #output: [4, 5, 6] print (lst) #output: [7, 8, 9]
You can then access the different elements in each of those lists the same way:
print (lst) #output: 1 print (lst) #output: 2
Here the first number inside the
 brackets means get the list in that position. In the above example we used the number
0 to mean get the list in the 0th position which is
[1,2,3]. The second set of
 brackets means get the item in that position from the inner list. In this case we used both
1 the 0th position in the list we got is the number
1 and in the 1st position it is
You can also set values inside these lists the same way:
Now the list is
[[10,11,12],[4,5,6],[7,8,9]]. In this example we changed the whole first list to be a completely new list.
Now the list is
[[10,11,12],[4,5,15],[7,8,9]]. In this example we changed a single element inside of one of the inner lists. First we went into the list at position 1 and changed the element within it at position 2, which was 6 now it's 15.
This behaviour can be extended. Here is a 3-dimensional array:
As is probably obvious, this gets a bit hard to read. Use backslashes to break up the different 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]]]
By nesting the lists like this, you can extend to arbitrarily high dimensions.
Accessing is similar to 2D arrays:
print(myarray) print(myarray) print(myarray) print(myarray) etc.
And editing is also similar:
myarray=new_n-1_d_list myarray=new_n-2_d_list myarray=new_n-3_d_list #or a single number if you're dealing with 3D arrays etc.