bob*_*123 1 python list python-3.x
如果我有一个列表,如:
List = [12,6,3,5,1.2,5.5]
Run Code Online (Sandbox Code Playgroud)
有没有办法可以检查所有数字是否都是整数?我试过类似的东西
def isWhole(d):
if (d%1 == 0 ) : for z in List return true.
Run Code Online (Sandbox Code Playgroud)
这显然是非常错误的.我能做什么?
所以你想要整数和浮点数等于整数?
def is_whole(d):
"""Whether or not d is a whole number."""
return isinstance(d, int) or (isinstance(d, float) and d.is_integer())
Run Code Online (Sandbox Code Playgroud)
正在使用:
>>> 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
Run Code Online (Sandbox Code Playgroud)
if all(map(is_whole, List)):
Run Code Online (Sandbox Code Playgroud)
或者生成器表达式:
if all(is_whole(d) for d in List):
Run Code Online (Sandbox Code Playgroud)