0 votes
1 view
in Python by (47.8k points)

I want to define a two-dimensional array without an initialized length like this:

Matrix = [][]

but it does not work...

I've tried the code below, but it is wrong too:

Matrix = [5][5]


Traceback ... 

IndexError: list index out of range

What is my mistake?

1 Answer

0 votes
by (107k points)
edited by

In Python for constructing 2D-array, you can use list-comprehension as it is the best way to construct a 2D-array. Actually in Python array is nothing but a set of list values.

# Here we are creating a list containing 5 lists, each of the 8 items, all set to 0.

a, b = 8, 5;

Matrix = [[0 for x in range(a)] for y in range(b)]

As our matrix is created, so now we can add items to it by following way:

Matrix[0][0] = 1 

print Matrix[0][0] #it will print 1

Another way you can get a 2D-array by using numpy. Matrix operations in numpy most often used as an array type with two dimensions. There are many ways to create a new array; one of the most useful is the zeros function, which takes a shape parameter and returns an array of the given shape, with the values initialized to zero:

import numpy 

numpy.zeros((5, 5))


To know more about this you can have a look at the following video tutorial:-

Related questions

0 votes
1 answer
0 votes
2 answers
0 votes
1 answer
asked Dec 30, 2020 in Python by ashely (50.5k points)
Welcome to Intellipaat Community. Get your technical queries answered by top developers !