Till now, we got good idea on arrays in Python. When talking about arrays, any programming language like C or Java offers two types of arrays. They are:

**Single dimensional arrays:** These arrays
represent only one row or one column of
elements. For example, marks obtained by a
student in 5 subjects can be written as
'marks' array, as:

The above array contains only one row of
elements. Hence it is called single
dimensional array or **one dimensional array**.

**Multi-dimensional arrays**: These arrays
represent more than one row and more than
one column of elements. For example, marks
obtained by 3 students each one in 5
subjects can be written as 'marks' array
as:

The first student's marks are written in
first row. The second student's marks are
in second row and the third student's marks
are in third row. In each row, the marks in
5 subjects are mentioned. Thus this array
contains 3 rows and 5 columns and hence it
is called **multi-dimensional array**.

Each row of the above array can be again represented as a single dimensional array. Thus the above array contains 3 single dimensional arrays. Hence, it is called a two dimensional array. A two dimensional array is a combination of several single dimensional arrays. Similarly, a three dimensional array is a combination of several two dimensional arrays.

In Python, we can create and work with single dimensional arrays only. So far, the examples and methods discussed by us are applicable to single dimensional arrays.

Python does not support multi-dimensional
arrays. We can construct multidimensional
arrays using third party packages like
**numpy (numerical python)**.