繁体   English   中英

如何检查对象是否是 np.array()?

[英]How to check if an object is an np.array()?

我正在尝试构建一个代码来检查给定的对象是否是 python 中的 np.array() 。

if isinstance(obj,np.array())似乎不起作用。

我真的很感激任何帮助。

isinstance(obj, numpy.ndarray)可能工作

您可以将传递给检查函数的对象的类型与“np.ndarray”进行比较,以检查给定的对象是否确实是 np.ndarray

相同的示例代码片段应如下所示:

if isinstance(obj,np.ndarray):
    # proceed -> is an np array
else
    # Not an np.ndarray

下面的代码似乎有效。 使用numpy.ndarray

import numpy as np

l = [1,2,3,4]

l_arr = np.array(l)

if isinstance(l_arr, np.ndarray):
    print("Type is np.array")
else:
    print("Type is not np.array")

输出:

Type is np.array

numpy.array返回的typenumpy.ndarray 您可以通过调用type(numpy.array([]))repl确定。 请注意,此技巧甚至适用于原始类不可公开访问的情况。 通常最好使用直接引用,但存储type(someobj)的返回值以供以后比较确实有其用处。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM