gpt4 book ai didi

python - numpy 数组的形状与 len

转载 作者:太空狗 更新时间:2023-10-29 18:28:41 27 4
gpt4 key购买 nike

比较 shapelen 时是否存在差异(例如性能)?考虑以下示例:

In [1]: import numpy as np

In [2]: a = np.array([1,2,3,4])

In [3]: a.shape
Out[3]: (4,)

In [4]: len(a)
Out[4]: 4

快速运行时比较表明没有区别:

In [17]: a = np.random.randint(0,10000, size=1000000)

In [18]: %time a.shape
CPU times: user 6 µs, sys: 2 µs, total: 8 µs
Wall time: 13.1 µs
Out[18]: (1000000,)

In [19]: %time len(a)
CPU times: user 5 µs, sys: 1 µs, total: 6 µs
Wall time: 9.06 µs
Out[19]: 1000000

那么,有什么区别,哪个更 pythonic? (我想使用 shape)。

最佳答案

我不会担心这里的性能 - 任何差异都应该非常小。

我会说更多 pythonic 的替代方案可能更符合您的需求:

a.shape 可能包含比 len(a) 更多的信息,因为它包含沿所有轴的大小,而 len 仅返回大小沿着第一个轴:

>>> a = np.array([[1,2,3,4], [1,2,3,4]])
>>> len(a)
2
>>> a.shape
(2L, 4L)

如果您实际上碰巧只使用一维数组,那么我个人更喜欢使用 len(a),以防您明确需要数组的大小。

关于python - numpy 数组的形状与 len,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37415269/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com