Python数组长度:如何找到Python数组的大小

3,082 阅读3分钟

Python Array Size - How to Find Size of Array in Python

Python 没有内置的数组数据类型。但是你可以使用第三方库如 Numpy 创建一个数组。首先要明确,在Python 中,你所说的数组 可能是指一个列表。然后,为了找到列表的大小,使用len()方法。

Python 数组长度

要在Python找到一个数组长度,使用len()方法。len()是一个内置的Python方法,它接受一个数组作为参数,并返回数组中元素的数量。len()函数返回一个数组大小

size = len(arr)

len()方法需要一个必要的参数,一个数组,或者一个列表

# app.py

numbers = [11, 21, 19, 18, 46]

print("The size of an array is: ", len(numbers))

输出

The size of an array is:  5

一个数组的大小总是比数组的最高索引多一个。例如,数组最后一个元素的索引是4;数组的大小是5。 总是+1的最后一个元素的索引。

len()函数在幕后所做的是,它正在调用列表 __len__() ,而 len() 所做的是它拿着对象,试图调用对象的 __len__() 方法。

简而言之,len() 函数只对具有 __len__() 方法的对象起作用。如果你有一个带有 __len__() 方法的自定义对象,你甚至可以调用 len() 。

数组的Python大小

找到一个数组 大小,可以使用numpy size 属性。numpy数组有size和shape属性,但是size和shape属性并不完全相同。size是一个内置的属性,返回数组的大小。

# app.py

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6]])

print("The size of a numpy array is: ", arr.size)

输出

The size of a numpy array is:  6

在上面的代码中,我们通过numpy.size属性得到数组中的元素数。size属性对一维数组非常有效。它不考虑多维数组,它只给我们数组中元素的数量。

shape是一个内置属性,它返回数组的形状。它计算数组中元素的数量,然后返回。

# app.py

import numpy as np

arr = np.array([[1, 2], [3, 4], [5, 6]])

print("The shape of a numpy array is: ", arr.shape)

输出

The shape of an numpy array is:  (3, 2)

它返回数组的形状。

numpy数组长度

要在Python找到 numpy 数组长度 使用ndarray.size 属性。np.ndarray.size属性返回数组中的几个元素。numpy.shape属性返回一个形式为(a, b)的元组,其中a是数组中的行数,b是数组中的列数。

# app.py

import numpy as np

np_arr = np.arange(3)
print(np_arr)
print(np_arr.shape)

输出

[0 1 2]
(3,)

numpy.ndarray形状(=每个维度的长度)可以被接受为一个带有shape属性的元组。

在我们的例子中,数组是一个一维数组,这就是为什么它返回一个有一个元素的元组而不是一个整数值。

二维数组的Numpy大小

要在Pythonnumpy获得 一个二维 数组长度,可以使用array.size属性。array.size属性返回数组中元素的数量。

# app.py

import numpy as np

np_arr = np.array([[11, 21], [31, 41]])
print(np_arr)
print(np_arr.shape)

输出

[[11 21]
[31 41]]

(2, 2)

你可以看到,它等同于 np.prod(a.shape),也就是数组尺寸的乘积。

总结

与其他编程语言如JavaScript或PHP不同,Python不支持正常的 "length()"或 "size()"函数来获取一个数组的大小。例如,不使用 "array.length()",而使用**len()**函数,它把数组本身作为一个参数,并返回其大小。

这篇文章就讲到这里。