如何确定字典中的数字是str还是float?

时间:2019-06-12 17:02:47

标签: python

之所以这样问,是因为我看到了一个字典,它是从两个不同的来源生成的,其中一个数字是浮点数,而相同的数字是一个字符串。

data = {'name':'jack','confidence':'0.95'}

“信心”在一次情况下是浮点数,在另一种情况下是str。这是为什么?

conf = data.get('confidence')

3 个答案:

答案 0 :(得分:1)

这完全取决于他们决定如何在dict中存储价值。但是,如果您想访问该值,conf = float(data.get('confidence'))可能会很适合您使用。

答案 1 :(得分:1)

字典中用引号引起来的值是字符串。 '0.95'是字符串,但0.95是浮点数。您可以使用isinstance内置函数:

conf = data.get('confidence')
if isinstance(conf, str):
    pass
elif isinstance(conf, float):
    pass

答案 2 :(得分:0)

conf = data.get('confidence')
try:
  conf = float(conf)
except:
  pass