Python 求圆图形
在Python中,如果我有一个带有浮点数的列表,如何找到所有的条目,它们都是圆形数字 e、 g。 检查x=[1.234,0.000000,2.0,0.0001]将给出输出Python 求圆图形,python,Python,在Python中,如果我有一个带有浮点数的列表,如何找到所有的条目,它们都是圆形数字 e、 g。 检查x=[1.234,0.000000,2.0,0.0001]将给出输出 >>> False True True False 我尝试了isinstance函数,但该函数不起作用: x=[1.234,0.000000,2.0,0.0001] for i in x: print(isinstance(i,
>>> False
True
True
False
我尝试了isinstance函数,但该函数不起作用:
x=[1.234,0.000000,2.0,0.0001]
for i in x:
print(isinstance(i, int))
我猜从技术上讲,2.0之类的不是整数类型。因此,我不能那样使用它。使用
isinstance
不起作用,因为从技术上讲,这些仍然都是浮点值
:
>>> x = [1.234, 0.000000, 2.0, 0.0001]
>>> [type(n) for n in x]
[float, float, float, float]
但您可以检查转换为int
的值是否等于原始值:
>>> [n == int(n) for n in x]
[False, True, True, False]
或者,正如注释中所指出的,使用float.is_integer
:
>>> [n.is_integer() for n in x]
[False, True, True, False]
使用
isinstance
不起作用,因为从技术上讲,它们仍然都是float
:
>>> x = [1.234, 0.000000, 2.0, 0.0001]
>>> [type(n) for n in x]
[float, float, float, float]
但您可以检查转换为int
的值是否等于原始值:
>>> [n == int(n) for n in x]
[False, True, True, False]
或者,正如注释中所指出的,使用float.is_integer
:
>>> [n.is_integer() for n in x]
[False, True, True, False]
为什么不直接使用float.is_integer()呢?@MartijnPieters,因为我没有想到它添加到答案中。由于这些是浮点数,浮点数总是近似值,那么
(4**3)**(1.0/3)
(4的立方体的立方根)呢?那还不到4,那是3.9999999996。这足够接近一个整数了吗?为什么不直接使用float.Is_integer()
呢?@MartijnPieters,因为我没有想到它。;-)添加到答案中。由于这些是浮点数,浮点数总是近似值,那么(4**3)**(1.0/3)
(4的立方体的立方根)呢?那还不到4,那是3.9999999996。这接近整数吗?