用于列表列表的Python size()和len()
我有一份清单:用于列表列表的Python size()和len(),python,numpy,Python,Numpy,我有一份清单: a = [[1, 0], 'apple', 5] 为什么size(a[0])即使a不是numpy数组也能工作 我以为大小只适用于阵列 谢谢 size[a[0]]不应该工作,但是size(a[0])应该工作。您只需查看np.size的源代码即可: def size(a, axis=None): [docstring removed] if axis is None: try: return a.size e
a = [[1, 0], 'apple', 5]
为什么size(a[0])
即使a
不是numpy数组也能工作
我以为大小只适用于阵列
谢谢 size[a[0]]
不应该工作,但是size(a[0])
应该工作。您只需查看np.size的源代码即可:
def size(a, axis=None):
[docstring removed]
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]
传递列表时,轴
保持其默认值None
,函数尝试获取a.size
。因为它不存在,所以它使用asarray(a)
将列表转换为一个数组,并以这种方式获取大小。在您的例子中,它将生成一个1-D numpy数组,其中的数据类型为对象
Wow。我在这个论坛上发布的第一个问题,实际上我得到了一个非常有洞察力的答案。谢谢