您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

python – 形状vs len为numpy数组

5b51 2022/1/14 8:22:59 python 字数 1523 阅读 546 来源 www.jb51.cc/python

比较shape和len时是否存在差异(例如性能)?请考虑以下示例: 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,10

概述

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? (我想用形状).

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

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

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

如果你真的碰巧只使用一维数组,那么我个人赞成使用len(a),以防你明确需要数组的大小.

总结

以上是编程之家为你收集整理的python – 形状vs len为numpy数组全部内容,希望文章能够帮你解决python – 形状vs len为numpy数组所遇到的程序开发问题。


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶