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

如何统计Python列表中非int类型值的数量?

统计Python列表中非int类型值的数量

要统计列表中非int类型的元素数量,核心是在遍历元素时加入类型判断条件,下面给你两种实用的实现方式:

方式一:修改你原有的循环逻辑

先修正一个小问题:不要用list作为变量名,这会覆盖Python内置的list类型,导致后续无法正常使用该类型。然后在循环里判断元素类型是否不是int,符合条件才计数:

my_list = [1, 2, "s1", 3, "s2", "s3"]
def count_non_int_elements(input_list):
    count = 0
    for element in input_list:
        # 严格判断元素类型是否为int(bool会被视为非int)
        if type(element) != int:
            count += 1
    return count

print("非int类型元素数量: ", count_non_int_elements(my_list))

方式二:用生成器表达式简化代码

Python里可以用sum()配合生成器表达式,一行代码完成统计,更简洁高效:

my_list = [1, 2, "s1", 3, "s2", "s3"]
# 统计非int元素的数量
non_int_count = sum(1 for elem in my_list if type(elem) != int)
print("非int类型元素数量: ", non_int_count)

关于判断条件的补充说明

如果你的列表里可能存在bool类型(比如True/False,它们是int的子类),可以根据需求选择判断逻辑:

  • type(element) != int:严格判断类型,bool会被当成非int统计
  • not isinstance(element, int):会把bool也视为int类型(因为isinstance会识别子类),如果不需要统计bool,就用这个条件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 06:25:24