it-swarm.com.ru

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

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

126
UnkwnTech

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

Синтаксис:

len(myArray)

Например:

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

Результат:

3
254
Trent

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

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

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

25
Jeremy Brown

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

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

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

len(a) == np.shape(a)[0]

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

size = 1
for dim in np.shape(a): size *= dim
12
user2993689

Или же,

myArray.__len__()

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

3
Kevin Little

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

for tempVar in arrayName: tempVar+=1

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

len(arrayName)

1
Evan Young