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

如何统计0/1列表中(0,0)与(0,1)连续元素对的数量?

计算二进制列表中指定连续元素对的数量

你可以通过以下几种简单方法实现需求:

方法一:利用zip快速生成元素对并统计

这种方法代码简洁,借助Python内置的zip函数将列表与自身切片配对,直接得到所有连续元素对,再用count方法统计目标对的数量:

MyList = [0,0,0,0,1,0,1,0,0,0,1,1,0]

# 生成所有连续相邻元素对
consecutive_pairs = list(zip(MyList, MyList[1:]))

# 统计(0,0)和(0,1)的出现次数
count_00 = consecutive_pairs.count((0, 0))
count_01 = consecutive_pairs.count((0, 1))

print(f"(0,0)连续对数量: {count_00}")  # 输出5
print(f"(0,1)连续对数量: {count_01}")  # 输出3

原理:MyList[1:]是原列表去掉第一个元素后的新列表,zip(MyList, MyList[1:])会将原列表第i个元素和新列表第i个元素(即原列表第i+1个元素)配对,正好得到所有连续相邻的元素对。

方法二:循环遍历计数(适合理解底层逻辑)

如果需要更直观地看到计数过程,可以用循环遍历列表索引,逐个判断相邻元素:

MyList = [0,0,0,0,1,0,1,0,0,0,1,1,0]

count_00 = 0
count_01 = 0

# 遍历到倒数第二个元素即可,避免索引越界
for i in range(len(MyList) - 1):
    current = MyList[i]
    next_val = MyList[i+1]
    if current == 0 and next_val == 0:
        count_00 += 1
    elif current == 0 and next_val == 1:
        count_01 += 1

print(f"(0,0)连续对数量: {count_00}")  # 输出5
print(f"(0,1)连续对数量: {count_01}")  # 输出3

这两种方法都能精准得到你需要的统计结果,可根据自身习惯选择使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 12:17:17