如何让代码接受 int 和 float 类型的值作为 double 类型? - Python
How to make the code accept both int and float type values as double type? - Python
我有一个具有混合值的数据集,其中很少有值是浮点数(例如 3.4),很少是整数值(例如 3.0)。我想检查所有的值是否都是双倍的。我希望如果值是 int 或 float,它们将被接受为 double 数据类型。
我试过:
data = [3.0, 3.4, 3.2, 3.0, 3.1]
for valuedata in data:
is_double = isinstance(valuedata, float)
print(is_double)
结果是 FALSE,我希望 int 和 float 都应该被接受为 double。
谢谢
您可以通过将元组传递给 isinstance()
:
来检查多个允许的类型
is_double = isinstance(valuedata, (int, float))
另请注意 Python 的 int
具有无限精度,它可能太大而无法放入 C/C++ double
.
你可以看看它是不是numbers.Number的一个实例。
>>> import numbers
>>> isinstance(1.1, numbers.Number)
True
>>> isinstance(1, numbers.Number)
True
>>>
我有一个具有混合值的数据集,其中很少有值是浮点数(例如 3.4),很少是整数值(例如 3.0)。我想检查所有的值是否都是双倍的。我希望如果值是 int 或 float,它们将被接受为 double 数据类型。
我试过:
data = [3.0, 3.4, 3.2, 3.0, 3.1]
for valuedata in data:
is_double = isinstance(valuedata, float)
print(is_double)
结果是 FALSE,我希望 int 和 float 都应该被接受为 double。
谢谢
您可以通过将元组传递给 isinstance()
:
is_double = isinstance(valuedata, (int, float))
另请注意 Python 的 int
具有无限精度,它可能太大而无法放入 C/C++ double
.
你可以看看它是不是numbers.Number的一个实例。
>>> import numbers
>>> isinstance(1.1, numbers.Number)
True
>>> isinstance(1, numbers.Number)
True
>>>