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

技术问询:如何统计列表中文本变更(changes)的次数?

统计列表中元素变更次数的方法

要统计列表中元素的变更次数,本质就是统计相邻元素不相同的次数——每出现一次相邻元素切换,就计为一次变更。

方法一:循环遍历实现

这是最直观的方式,遍历列表从第二个元素开始,逐个和前一个元素对比:

def count_changes(lst):
    # 列表长度小于等于1时,没有变更的可能
    if len(lst) <= 1:
        return 0
    change_count = 0
    # 从索引1开始遍历,对比当前元素与前一个元素
    for i in range(1, len(lst)):
        if lst[i] != lst[i-1]:
            change_count += 1
    return change_count

测试示例:

# 测试变更次数为0的列表
test_list1 = ['Comcast', 'Comcast', 'Comcast', 'Comcast', 'Comcast', 'Comcast']
print(count_changes(test_list1))  # 输出:0

# 测试变更次数为3的列表
test_list2 = ['Comcast', 'Comcast', 'Sprint', 'AT&T', 'Comcast', 'Comcast']
print(count_changes(test_list2))  # 输出:3

方法二:用zip和生成器表达式简化代码

利用Python的内置函数可以写出更简洁的实现,zip(lst, lst[1:])会将列表中相邻的元素两两配对,再通过生成器统计配对中元素不同的数量:

def count_changes(lst):
    return sum(1 for prev, curr in zip(lst, lst[1:]) if prev != curr)

这个实现和方法一逻辑完全一致,只是写法更简洁,测试结果也相同。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 06:39:34