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

如何在布尔值连续序列中断时递增计数器并为元素标记编号?

问题解决:为连续相同值的分组添加序号

输入数据

False
True
True
True
True
False
False
False
False
False
False
True
True
True
True
False
False
False
False
False
False
False

期望输出

False   1
True    2
True    2
True    2
True    2
False   3
False   3
False   3
False   3
False   3
False   3
True    4
True    4
True    4
True    4
False   5
False   5
False   5
False   5
False   5
False   5
False   5

原代码问题分析

你的代码存在两个核心问题:

  1. 仅在值发生变化时打印上一组内容,导致最后一组数据完全没有输出;
  2. 使用current_count统计的是组内元素数量,而需求是为每个连续相同值的分组分配递增的组序号,而非组内计数。

修正后的代码

current_value = None
group_number = 0

input_array = [False, True, True, True, True, False, False, False, False,
               False, False, True, True, True, True, False, False, False,
               False, False, False, False]

for value in input_array:
    if value != current_value:
        group_number += 1
        current_value = value
    print(f"{value}\t{group_number}")

代码说明

  • 用group_number记录当前分组的序号,初始为0;
  • 遍历每个元素时,若当前值与上一个值不同,就将组序号加1,并更新当前记录的值;
  • 无论值是否变化,都直接打印当前元素和对应的组序号,确保每个元素都能输出对应结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 09:15:33