Find length of 2D array Python

How do I find how many rows and columns are in a 2d array?

For example,

Input = ([[1, 2], [3, 4], [5, 6]])`

should be displayed as 3 rows and 2 columns.


Solution 1:

Like this:

numrows = len(input)    # 3 rows in your example
numcols = len(input[0]) # 2 columns in your example

Assuming that all the sublists have the same length (that is, it's not a jagged array).

Solution 2:

You can use numpy.shape.

import numpy as np
x = np.array([[1, 2],[3, 4],[5, 6]])

Result:

>>> x
array([[1, 2],
       [3, 4],
       [5, 6]])
>>> np.shape(x)
(3, 2)

First value in the tuple is number rows = 3; second value in the tuple is number of columns = 2.

Solution 3:

In addition, correct way to count total item number would be:

sum(len(x) for x in input)

Solution 4:

Assuming input[row][col],

    rows = len(input)
    cols = map(len, input)  #list of column lengths

Solution 5:

You can also use np.size(a,1), 1 here is the axis and this will give you the number of columns