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

Python报错解决:'int'对象无'isdigit'属性,过滤数组非整数元素

问题解决:过滤数组中的整数元素

你代码报错的核心原因是:isdigit()和isnumeric()都是字符串类型的专属方法,当循环到数组里的整数(比如1、8)时,直接调用这些方法会触发AttributeError——整数对象根本没有这些属性。

这里给你两种可行的修正方案:

方案一:直接过滤整数类型元素

如果你的需求只是排除数组里的整数对象,直接用类型判断即可:

array = ["hello", "hey", 1, "sup", 8]
for x in array:
    if isinstance(x, int):
        continue
    print(x)

isinstance(x, int)会准确判断元素是否为整数类型,是的话跳过循环,否则打印元素。

方案二:同时过滤整数和字符串形式的数字

如果你的数组里可能存在像"123"这样的字符串数字,也需要一起排除,可以这样写:

array = ["hello", "hey", 1, "sup", 8, "123"]
for x in array:
    if isinstance(x, int):
        continue
    if isinstance(x, str) and x.isdigit():
        continue
    print(x)

先判断是否为整数,再判断是否是字符串类型的数字,双重过滤后打印符合要求的元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 06:01:00