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

如何统计Python列表中连续偶数的出现次数?

统计列表中连续偶数的出现次数

原代码仅能统计列表中偶数的总个数,要实现统计相邻连续偶数对的数量(即每两个相邻偶数算一次连续出现,连续n个偶数对应n-1次计数),可以用以下两种方案:

方案一:遍历判断法

直接遍历列表,跟踪前一个元素是否为偶数,遇到相邻偶数对时计数:

s = [3, 6, 8, 1, 4, 7, 3, 7, 4, 2]
count = 0
prev_is_even = False

for num in s:
    current_is_even = num % 2 == 0
    # 前一个和当前都是偶数,计数加1
    if prev_is_even and current_is_even:
        count += 1
    prev_is_even = current_is_even

print(count)  # 输出:2

方案二:分组求和法

利用itertools.groupby将连续的奇偶元素分组,对每个偶数组计算内部连续次数(组长度-1)后求和:

from itertools import groupby

s = [3, 6, 8, 1, 4, 7, 3, 7, 4, 2]
total = 0

# 按是否为偶数分组
for is_even, group in groupby(s, lambda x: x % 2 == 0):
    if is_even:
        # 连续n个偶数有n-1次连续出现
        total += len(list(group)) - 1

print(total)  # 输出:2

两种方案都符合需求:比如输入[2,6,4]时,输出均为2;示例列表输出为2,完全匹配要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 18:35:41