将单个元素的列表或numpy数组转换为浮在python中

丹佛:

我有一个可以接受列表或numpy数组的函数。

无论哪种情况,列表/数组都只有一个元素(总是)。我只需要返回一个浮点数。

因此,例如,我可以收到:

list_ = [4]

或numpy数组:

array_ = array([4])

我应该回来

 4.0

因此,自然地(我会说),我在list_上使用float(...)并得到:

TypeError: float() argument must be a string or a number

我对array_做相同的操作,这次它通过响应“ 4.0”来工作。由此,我了解到Python的列表无法以这种方式转换为float。

基于成功将numpy数组转换为浮点数,这使我想到了这种方法:

float(np.asarray(list_))

当list_既是Python列表又是numpy数组时,此方法有效。

但是,似乎这种方法会产生开销,首先将列表转换为numpy数组,然后再进行浮动。基本上:有更好的方法吗?

戳 :

只需使用索引访问和索引0访问列表/数组的第一项即可:

>>> list_ = [4]
>>> list_[0]
4
>>> array_ = np.array([4])
>>> array_[0]
4

这将是一个,int因为那是您首先插入的内容。如果出于某种原因需要将其作为浮动对象,则可以调用float()它:

>>> float(list_[0])
4.0

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章