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

如何统计列表中满足最小长度要求的连续True片段长度,无需numpy/groupby

代码修正方案

你只需要在向结果列表追加连续长度的位置,增加是否满足最小长度要求的判断即可,修正后代码如下:

count = 0
true_sum = []
min_segment = 3 # 可根据实际需求调整该参数值
for v in main_list:
    if v:
        count += 1
    elif count:
        # 仅当连续True长度满足最小要求时才存入结果
        if count >= min_segment:
            true_sum.append(count)
        count = 0
# 处理列表末尾的连续True片段
if count >= min_segment:
    true_sum.append(count)

代码说明

  • 原代码的问题是只要统计到连续True片段结束就直接存入结果,没有做长度校验
  • 修正后在两处需要存入结果的位置都增加了count >= min_segment的判断,长度不足的片段会直接跳过,不会被加入结果列表

示例运行验证

输入参数:

main_list = [True, True, False, False, True, True, True, True, True, False, False, True, True, True]
min_segment=3

运行修正后代码得到输出:[5, 3],和预期结果完全一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 01:30:01