# 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.