如何解决python:如何识别变量是数组还是标量
>>> isinstance([0, 10, 20, 30], list)
True
>>> isinstance(50, list)
False
要支持任何类型的序列,请选中collections.Sequence
而不是list
。
:isinstance
还支持一个元组类,type(x) in (..., ...)
应避免检查,这是不必要的。
您可能还想检查 not isinstance(x, (str, unicode))
解决方法
我有一个接受参数的函数NBins
。我想用标量50
或数组对此函数进行调用[0,10,20,30]
。我如何识别函数的长度NBins
是多少?或换句话说,如果它是标量或向量?
我尝试了这个:
>>> N=[2,3,5]
>>> P = 5
>>> len(N)
3
>>> len(P)
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
TypeError: object of type 'int' has no len()
>>>
正如你看到的,我不能申请len
到P
,因为它不是一个数组....有什么样isarray
或isscalar
在Python?
谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。