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

如何在数组中查找指定字符序列并统计其出现次数?

统计数组中子序列的出现次数

原来的代码用any()只能判断子序列是否存在,要统计出现次数,只需要把any()替换成sum()即可——因为Python中布尔值True等价于1,False等价于0,sum()会自动累加所有符合条件的匹配项数量。

修改后的代码如下:

mylist = ['A','V','V']
listfull = ['A','V','V','V','V','V','E','A','V','V'] 
n = len(mylist)
count = sum(mylist == listfull[i:i + n] for i in range(len(listfull)-n + 1))
print(count)  # 输出:2

代码说明

  • len(listfull)-n + 1:计算所有可能的起始索引范围,确保切片不会超出原数组的边界
  • mylist == listfull[i:i + n]:逐个比较从索引i开始的长度为n的切片是否和目标子序列完全匹配
  • sum():累加所有匹配成功的次数(每次匹配成功返回True,对应数值1)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:34:56