如何确定字典中的数字是str还是float? [复制]

Posted

技术标签:

【中文标题】如何确定字典中的数字是str还是float? [复制]【英文标题】:How to decide whether a number in a dictionary is a str or float? [duplicate] 【发布时间】:2019-10-27 06:17:21 【问题描述】:

我之所以问这个问题是因为我看到一本由两个不同来源生成的字典,其中一个数字是浮点数,同一个数字是字符串。

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

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

conf = data.get('confidence')

【问题讨论】:

因为一个来源决定给你字符串,另一个决定给你花车。我真的没有在这里看到问题。 【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:
conf = data.get('confidence')
try:
  conf = float(conf)
except:
  pass

【讨论】:

以上是关于如何确定字典中的数字是str还是float? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

基本的数据类型(数字字符串列表字典)

第三讲条件语句和循环语句

python之数据类型(数字与列表)

如何在特定参数内删除字典中的项目?

如何将字典中的字符串值转换为 int/float 数据类型?

PHP判断数字,汉字和英文