You need to enable JavaScript to run this app. Python如何统计列表中指定术语去除连续重复后的出现次数
优惠活动
大模型
产品
解决方案
定价
更多

Python如何统计列表中指定术语去除连续重复后的出现次数

Python 实现相邻重复术语去重计数

功能规则

  • 统计列表内指定术语的出现次数
  • 术语连续多次相邻出现时仅计数1次
  • 仅当前一位置元素不等于目标术语时,本次出现才计入次数

示例验证

示例1

输入列表:

['11A/B - FPC1', 'Tool Shelf', 'Repair', 'Tool Shelf', 'Tool Shelf', 'Repair', 'Repair', 'Tool Shelf', 'Tool Shelf', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair']

目标术语:Repair
统计结果:3

示例2

输入列表:

['11A/B - FPC1', 'Tool Shelf', 'Repair', 'Tool Shelf', 'Tool Shelf', 'Tool Shelf', 'Tool Shelf', 'Tool Shelf', 'Tool Shelf', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair']

目标术语:Repair
统计结果:2

实现代码

方案1:基础遍历实现(兼容性好、逻辑易懂)

def count_adjacent_unique(lst: list, target: str) -> int:
    count = 0
    # 标记上一个遍历元素是否为目标术语
    prev_is_target = False
    for item in lst:
        current_is_target = (item == target)
        # 当前为目标术语、且上一个不是时计数+1
        if current_is_target and not prev_is_target:
            count += 1
        prev_is_target = current_is_target
    return count

方案2:基于itertools.groupby简化实现

from itertools import groupby

def count_adjacent_unique(lst: list, target: str) -> int:
    # groupby会将连续相同的元素归为同一组,直接统计值为target的组数量即可
    return sum(1 for key, _ in groupby(lst) if key == target)

测试调用

# 示例1测试
lst1 = ['11A/B - FPC1', 'Tool Shelf', 'Repair', 'Tool Shelf', 'Tool Shelf', 'Repair', 'Repair', 'Tool Shelf', 'Tool Shelf', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair']
print(count_adjacent_unique(lst1, 'Repair')) # 输出3

# 示例2测试
lst2 = ['11A/B - FPC1', 'Tool Shelf', 'Repair', 'Tool Shelf', 'Tool Shelf', 'Tool Shelf', 'Tool Shelf', 'Tool Shelf', 'Tool Shelf', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair', 'Repair']
print(count_adjacent_unique(lst2, 'Repair')) # 输出2

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 22:36:02