gpt4 book ai didi

python - 为什么 np.size ("") 1?

转载 作者:行者123 更新时间:2023-12-04 12:19:16 31 4
gpt4 key购买 nike

我想知道 np.size('') 背后是否有理由?返回 1 ,鉴于 len('')np.size([]) ,例如,两者都返回 0 .

最佳答案

np.size任何 str是 1。对于大多数不是列表的 Python 对象也是如此。
调用 help在它上面打印:

Help on function size in module numpy:

size(a, axis=None)
Return the number of elements along a given axis.

Parameters
----------
a : array_like
Input data.
axis : int, optional
Axis along which the elements are counted. By default, give
the total number of elements.

Returns
-------
element_count : int
Number of elements along the specified axis.
...
由此我们看到提供的第一个参数应该是“array_like”,所以不应该是 str任何状况之下。 np.size正文的源代码是:
if axis is None:
try:
return a.size
except AttributeError:
return asarray(a).size
else:
try:
return a.shape[axis]
except AttributeError:
return asarray(a).shape[axis]
如果提供 str ,它调用 asarray在对象上。这将导致创建一个 0 维数组,其大小始终为 1。
>>> a = np.asarray('')
>>> a
array('', dtype='<U1')
>>> a.size
1
>>> a.ndim
0
>>>
>>> b = np.asarray('example str')
>>> b
array('example str', dtype='<U11')
>>> b.size
1
>>> b.ndim
0

关于python - 为什么 np.size ("") 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67973642/

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