如何检查列表中的所有元素是否为整数

时间:2014-11-12 16:49:48

标签: python list python-3.x

如果我有一个如下列表:

List = [12,6,3,5,1.2,5.5] 

有没有办法检查所有数字是否都是整数?我试过像

这样的东西
def isWhole(d): 
if (d%1 == 0 ) : for z in List return true.

这显然是非常错误的。我该怎么办?

3 个答案:

答案 0 :(得分:6)

所以你想要整数和浮点数等于整数?

def is_whole(d):
    """Whether or not d is a whole number."""
    return isinstance(d, int) or (isinstance(d, float) and d.is_integer())

使用中:

>>> for test in (1, 1.0, 1.1, "1"):
    print(repr(test), is_whole(test))


1 True # integer 
1.0 True # float equal to integer
1.1 False # float not equal to integer
'1' False # neither integer nor float

然后,您可以使用allmap

将其应用到列表中
if all(map(is_whole, List)):

generator expression

if all(is_whole(d) for d in List):

答案 1 :(得分:1)

列表L的简单解决方案:

def isWhole(L):
    for i in L:
        if i%1 != 0:
            return False
    return True

答案 2 :(得分:1)

列表= [12,6,3,5,1.2,5.5]

列表中的

if i%1 != 0 :
    print(False)
    break