Counting array elements in Python


How can I count the number of elements in an array, because contrary to logic array.count(string) does not count all the elements in the array, it just searches for the number of occurrences of string.

Asked By: UnkwnTech



The method len() returns the number of elements in the list.




myArray = [1, 2, 3]



Answered By: Trent



if you want to be oopy; “len(myArray)” is a lot easier to type! 🙂

Answered By: Kevin Little

len is a built-in function that calls the given container object’s __len__ member function to get the number of elements in the object.

Functions encased with double underscores are usually “special methods” implementing one of the standard interfaces in Python (container, number, etc). Special methods are used via syntactic sugar (object creation, container indexing and slicing, attribute access, built-in functions, etc.).

Using obj.__len__() wouldn’t be the correct way of using the special method, but I don’t see why the others were modded down so much.

Answered By: Jeremy Brown

Before I saw this, I thought to myself, “I need to make a way to do this!”

for tempVar in arrayName: tempVar+=1

And then I thought, “There must be a simpler way to do this.” and I was right.


Answered By: Evan Young

If you have a multi-dimensional array, len() might not give you the value you are looking for. For instance:

import numpy as np
a = np.arange(10).reshape(2, 5)
print len(a) == 2

This code block will return true, telling you the size of the array is 2. However, there are in fact 10 elements in this 2D array. In the case of multi-dimensional arrays, len() gives you the length of the first dimension of the array i.e.

import numpy as np
len(a) == np.shape(a)[0]

To get the number of elements in a multi-dimensional array of arbitrary shape:

import numpy as np
size = 1
for dim in np.shape(a): size *= dim
Answered By: user2993689
Categories: questions Tags: ,
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.