如何确定字典中的数字是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? [复制]的主要内容,如果未能解决你的问题,请参考以下文章