为什么当我调用函数时这个循环为什么不移动?当我调用getnumber([2,3,"no","rain",5,0])
时,它仅返回[2]
。谢谢您的帮助!
def getnumber(a):
for x in a:
if type(x)==int:
return [x]
因为您在找到第一个结果后立即打电话给return。如果使用['a',3]调用get_number,它将返回3。
如果要构建一个包含所有数字的列表,则需要做的是将它们放在列表中,并在最后返回它们。
def getnumber(a):
r = []
for x in a:
if type(x)==int:
r.append(x)
return r
也可以简化为列表理解为:
def get_number(a)
return [ value for value in a if type(value) == int ]