Define two-dimensional array in Python
Problem description
How to create an empty two-dimensional array in Python?
Problrm solution
There are two ways to create two-dimensional arrays/martices:
- using clear Python
- using numpy module
Using clear Python
First of all, you have to innitialize the outer list with lists, so-called list comprehension:
w = 6 # width, number of columns
h = 4 # height, number of rows
array = [[0 for x in range(w)] for y in range(h)]
Now, you can add items to the list:
array[0][0] = 1
array[2][5] = 9
REMEMBER Be careful with idexing, you can't go out of range!
array[2][2] = 5 # valid
array[7][2] = 3 # error
Using numpy module
This way is much easier. You can use zeros function from numpy to create 2D array with all values set to zero:
import numpy
array = numpy.zeros((4,4))
REMEMBER Even though the second version is easier, the first one is better for this operation unless we need any matrix operations.