在Python中计算数组元素

我如何计算数组中的元素数量,因为与逻辑array.count(string)相反,它不计算数组中的所有元素,它只是搜索字符串出现的次数。

716286 次浏览

方法len()返回列表中元素的数量。

语法:

len(myArray)

例如:

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

输出:

3

或者,

myArray.__len__()

如果你想成为oopy;“len(myArray)”更容易输入!:)

len是一个内置函数,它调用给定容器对象的__len__成员函数来获取对象中的元素数量。

带有双下划线的函数通常是实现Python标准接口之一(容器、数字等)的“特殊方法”。通过语法糖使用特殊方法(对象创建、容器索引和切片、属性访问、内置函数等)。

使用obj.__len__()不是使用特殊方法的正确方式,但我不明白为什么其他方法被修改了这么多。

在我看到这个之前,我对自己说,“我需要想办法做到这一点!”

for tempVar in arrayName: tempVar+=1

然后我想,“一定有更简单的方法。”我是对的。

len(arrayName)

如果你有一个多维数组,len()可能不会给你要找的值。例如:

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

这个代码块将返回true,告诉你数组的大小是2。然而,在这个2D数组中实际上有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