Подсчет элементов массива в Python

Как я могу подсчитать количество элементов в массиве, потому что вопреки логике array.count(string) не учитывает все элементы в массиве, он просто ищет количество вхождений строки.

Ответ 1

Метод len() возвращает количество элементов в списке.

Синтаксис:

len(myArray)

Например:

myArray = [1, 2, 3]
len(myArray)

Вывод:

3

Ответ 2

len - это встроенная функция, которая вызывает заданную объект-объект-контейнер __len__ для получения количества элементов в объекте.

Функции, заключенные в двойные подчеркивания, обычно являются "специальными методами", реализующими один из стандартных интерфейсов в Python (контейнер, номер и т.д.). Специальные методы используются через синтаксический сахар (создание объектов, индексирование контейнеров и нарезка, доступ к атрибутам, встроенные функции и т.д.).

Использование obj.__len__() не будет правильным способом использования специального метода, но я не понимаю, почему другие были так сильно модифицированы.

Ответ 3

Если у вас есть многомерный массив, len() может не дать вам искомое значение. Например:

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

Этот блок кода вернет true, сообщая, что размер массива равен 2. Однако в этом двумерном массиве фактически есть 10 элементов. В случае многомерных массивов, len() дает вам длину первого измерения массива, т.е.

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

Чтобы получить количество элементов в многомерном массиве произвольной формы:

import numpy as np
size = 1
for dim in np.shape(a): size *= dim

Ответ 4

Или

myArray.__len__()

если вы хотите быть умным; "len (myArray)" намного легче набрать!:)

Ответ 5

Прежде чем я увидел это, я подумал про себя: "Мне нужно сделать способ сделать это!"

for tempVar in arrayName: tempVar+=1

И тогда я подумал: "Должен быть более простой способ сделать это". и я был прав.

len(arrayName)