
python如何求数组大小
常见问答
在 Python 中,怎么查看列表里一共有多少个元素?
我有一个列表,想知道里面有多少项,Python 里通常用什么方式获取元素数量?
使用 len() 获取列表长度
可以直接使用 len() 函数。它会返回列表中的元素个数,例如:
arr = [1, 2, 3, 4]
print(len(arr)) # 4
如果你的“数组”指的是 Python 的列表、元组、字符串、字典等容器类型,len() 都可以用来获取长度。
如果数组是多维的,Python 要怎么计算它的大小?
当数据是二维或三维结构时,我想知道整体维度和元素数量,应该怎么处理?
多维数组可查看 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() 查看外层长度,内层长度则需要继续访问对应层级。
Python 里数组长度和内存大小是一回事吗?
我看到有些地方说数组大小,有些地方说占用空间,这两者是不是同一个概念?
长度和内存占用不是同一个概念
不是同一个概念。长度指的是元素个数,内存大小指的是对象占用了多少字节。
例如:
import sys
arr = [1, 2, 3]
print(len(arr)) # 元素个数
print(sys.getsizeof(arr)) # 内存占用,单位字节
如果你关心的是“有多少个元素”,用 len();如果你关心的是“占了多少内存”,可以用 sys.getsizeof()。
NumPy 数组和 Python 列表求大小的方法有什么区别?
我平时既会用列表,也会用 NumPy 数组,它们获取大小的方式是不是一样?
列表用 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生成内容