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

如何统计元组(或任意集合)中指定元素模式的出现次数

统计序列中指定模式的出现次数

实现方法

直接遍历序列的所有可能起始位置,截取与模式长度一致的子序列进行匹配计数即可,代码示例如下:

def count_pattern(sequence, pattern):
    pattern_length = len(pattern)
    sequence_length = len(sequence)
    
    # 边界情况处理:模式为空或序列比模式短,直接返回0
    if pattern_length == 0 or sequence_length < pattern_length:
        return 0
    
    count = 0
    # 遍历所有可能的起始索引
    for i in range(sequence_length - pattern_length + 1):
        # 截取子序列与模式对比
        if sequence[i:i+pattern_length] == pattern:
            count += 1
    return count

# 测试示例
tple = (1.02, 'a', 'b', 1.02, 'a', 'b')
target_pattern = (1.02, 'a', 'b')
print(count_pattern(tple, target_pattern))  # 输出:2

注意事项

  • 该方法适用于有序可切片的序列(如元组、列表、字符串等),因为模式是有序结构,必须保证子序列的元素顺序和模式完全一致才能匹配。
  • 如果是无序集合(如set),由于其元素无固定顺序且自动去重,无法直接匹配有序模式,需要先将其转换为有序序列(如list)后再处理,但转换后的顺序不确定,可能影响最终计数结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 00:15:36