在Python中计算数组元素

Unk*_*ech 142 python arrays

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

Tre*_*ent 277

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

句法:

len(myArray)
Run Code Online (Sandbox Code Playgroud)

例如:

myArray = [1, 2, 3]
len(myArray)
Run Code Online (Sandbox Code Playgroud)

输出:

3
Run Code Online (Sandbox Code Playgroud)

  • 这仅适用于平面的一维列表或数组,但 `print len([[0, 0], [0, 0]])` 显示为 2,`len(array([[0, 0)] ], [0, 0]]))`。 (4认同)

Jer*_*own 25

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

用双下划线包含的函数通常是"特殊方法",它实现Python中的一个标准接口(容器,数字等).通过语法糖(对象创建,容器索引和切片,属性访问,内置函数等)使用特殊方法.

使用obj.__len__()不是使用特殊方法的正确方法,但我不明白为什么其他人被修改得如此之多.


use*_*689 12

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

import numpy as np
a = np.arange(10).reshape(2, 5)
print len(a) == 2
Run Code Online (Sandbox Code Playgroud)

此代码块将返回true,告诉您数组的大小为2.但实际上,此2D数组中有10个元素.在多维数组的情况下,len()给出数组第一维的长度,即

import numpy as np
len(a) == np.shape(a)[0]
Run Code Online (Sandbox Code Playgroud)

要获得任意形状的多维数组中的元素数量:

import numpy as np
size = 1
for dim in np.shape(a): size *= dim
Run Code Online (Sandbox Code Playgroud)