在Python中,如何检查数字是否是整数类型之一?

2024-04-26 12:20:51 发布

您现在位置:Python中文网/ 问答频道 /正文

在Python中,如果不检查每个整数类型(即'int''numpy.int32''numpy.int64'),如何检查数字的类型是否为整数?

我想尝试if int(val) == val,但当浮点设置为整数值(不是类型)时,这不起作用。

In [1]: vals = [3, np.ones(1, dtype=np.int32)[0], np.zeros(1, dtype=np.int64)[0], np.ones(1)[0]]
In [2]: for val in vals:
   ...:     print(type(val))
   ...:     if int(val) == val: 
   ...:         print('{} is an int'.format(val))
<class 'int'>
3 is an int
<class 'numpy.int32'>
1 is an int
<class 'numpy.int64'>
0 is an int
<class 'numpy.float64'>
1.0 is an int

我想过滤掉最后一个值,它是一个numpy.float64


Tags: innumpyan类型ifisnpones