python如何求数组大小

python如何求数组大小

作者:Rhett Bai发布时间:2026-08-05 08:05阅读时长:22 分钟阅读次数:3
常见问答
Q
在 Python 中,怎么查看列表里一共有多少个元素?

我有一个列表,想知道里面有多少项,Python 里通常用什么方式获取元素数量?

A

使用 len() 获取列表长度

可以直接使用 len() 函数。它会返回列表中的元素个数,例如:

arr = [1, 2, 3, 4]
print(len(arr))  # 4

如果你的“数组”指的是 Python 的列表、元组、字符串、字典等容器类型,len() 都可以用来获取长度。

Q
如果数组是多维的,Python 要怎么计算它的大小?

当数据是二维或三维结构时,我想知道整体维度和元素数量,应该怎么处理?

A

多维数组可查看 shape 或递归统计

如果你用的是 NumPy 数组,可以通过 shape 查看每一维的大小,通过 size 查看总元素个数:

import numpy as np

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

如果是普通嵌套列表,可以用 len() 查看外层长度,内层长度则需要继续访问对应层级。

Q
Python 里数组长度和内存大小是一回事吗?

我看到有些地方说数组大小,有些地方说占用空间,这两者是不是同一个概念?

A

长度和内存占用不是同一个概念

不是同一个概念。长度指的是元素个数,内存大小指的是对象占用了多少字节。

例如:

import sys
arr = [1, 2, 3]
print(len(arr))        # 元素个数
print(sys.getsizeof(arr))  # 内存占用,单位字节

如果你关心的是“有多少个元素”,用 len();如果你关心的是“占了多少内存”,可以用 sys.getsizeof()。

Q
NumPy 数组和 Python 列表求大小的方法有什么区别?

我平时既会用列表,也会用 NumPy 数组,它们获取大小的方式是不是一样?

A

列表用 len,NumPy 数组可用 shape 和 size

两者的侧重点不同。Python 列表一般用 len() 获取元素个数;NumPy 数组除了 len() 之外,还常用 shape 和 size。

import numpy as np

lst = [1, 2, 3]
print(len(lst))

arr = np.array([[1, 2], [3, 4]])
print(len(arr))     # 外层长度,结果是 2
print(arr.shape)    # (2, 2)
print(arr.size)     # 4

如果你要处理科学计算或矩阵数据,NumPy 提供的信息会更完整。

* 文章含AI生成内容