You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python作业求助:filter_int函数编写错误排查与修正指导

问题分析与修正方案

错误原因

  • 参数命名冲突:使用Python内置类型list作为参数名,会覆盖内置的list类型,可能引发后续代码的异常问题。
  • 判断逻辑无效:通过i in "qwertyuiopasdfghjklzxcvbnm"判断元素类型完全错误。字符串是整体对象,不会等于单个字母;数字(包括整数和浮点数)也不可能存在于字母字符串中,导致所有非字符串元素都会被错误保留,无法区分整数和浮点数。
  • 未正确筛选整数类型:需求要求仅保留int类型元素,但你的代码无法区分int和float(如5.0、9.0这类浮点型数值会被错误保留)。

修正后的代码

def filter_int(input_list):
    result = []
    for item in input_list:
        # 严格判断元素类型是否为整数
        if type(item) is int:
            result.append(item)
    return result

代码说明

  • 将参数名改为input_list,避免与内置类型list冲突。
  • 遍历输入列表时,使用type(item) is int严格校验元素类型,确保只保留int类型的元素,自动排除字符串、浮点型等其他类型。
  • 仅维护一个结果列表,无需额外的废弃列表,逻辑更简洁高效。

测试示例输入:

print(filter_int(["hello", 5, 5.0, 6, "World", "Yes", 4, 9.0]))
# 输出结果:[5, 6, 4]

内容的提问来源于stack exchange,提问作者WorldXp

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 20:05:24