如何通过递归方式从混合类型列表中筛选返回整数类型元素
递归筛选列表整数元素函数实现
功能要求
入参为包含整数、浮点数、字符串类型元素的列表Num,仅可通过递归实现,禁止使用任何循环语句,返回由列表中所有整数类型元素组成的新列表。
Python实现代码
def Integers(Num): # 递归终止条件:列表为空时返回空列表 if not Num: return [] # 递归处理除首元素外的剩余列表 rest_res = Integers(Num[1:]) # 判断首元素是否为严格整数类型 if type(Num[0]) is int: return [Num[0]] + rest_res return rest_res
效果验证
输入:Num = [10.4, 134, "134", "Stuff", 4, "5"]
输出:[134, 4]
实现逻辑说明
- 终止条件:当输入列表没有元素时,直接返回空列表结束递归
- 单次处理逻辑:每次仅判断当前列表首元素的类型,符合要求就加入结果,剩余元素全部交给递归调用处理
- 没有使用任何循环语句,所有遍历逻辑均通过递归实现
内容的提问来源于stack exchange,提问作者Tompan
相关产品推荐
相关产品推荐

