开发者社区> 问答> 正文

python:如何识别变量是数组还是标量

我有一个接受参数的函数NBins。我想用标量50或数组调用此函数[0, 10, 20, 30]。我如何识别函数的长度NBins是多少?或者换句话说,如果它是标量或向量?

我尝试了这个:

N=[2,3,5] P = 5 len(N) 3 len(P) Traceback (most recent call last): File " ", line 1, in TypeError: object of type 'int' has no len()

正如你看到的,我不能申请len到P,因为它不是一个数组....有什么样isarray或isscalar在Python?

谢谢

展开
收起
保持可爱mmm 2020-01-16 15:17:17 730 0
1 条回答
写回答
取消 提交回答
  • isinstance([0, 10, 20, 30], list) True isinstance(50, list) False 要支持任何类型的序列,请选中collections.Sequence而不是list。

    注意:isinstance还支持一个元组类,type(x) in (..., ...)应避免检查,这是不必要的。

    您可能还想检查 not isinstance(x, (str, unicode))

    问题来源于stack overflow

    2020-01-16 15:19:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
From Python Scikit-Learn to Sc 立即下载
Data Pre-Processing in Python: 立即下载
双剑合璧-Python和大数据计算平台的结合 立即下载