以下是一个示例代码,可以实现按组计算行的序列,并在每次组发生变化时重新开始计数:
# 定义行的列表
lines = [
{'group': 'A', 'value': 1},
{'group': 'A', 'value': 2},
{'group': 'A', 'value': 3},
{'group': 'B', 'value': 4},
{'group': 'B', 'value': 5},
{'group': 'A', 'value': 6},
{'group': 'A', 'value': 7},
{'group': 'B', 'value': 8},
{'group': 'A', 'value': 9},
]
# 初始化组和计数器
current_group = None
count = 0
# 遍历行
for line in lines:
# 检查组是否发生变化
if line['group'] != current_group:
# 组发生变化,重新开始计数
current_group = line['group']
count = 1
else:
# 组未发生变化,增加计数
count += 1
# 打印行的序列
print(f"行的序列为 {count},组为 {line['group']},值为 {line['value']}")
运行以上代码,将输出以下结果:
行的序列为 1,组为 A,值为 1
行的序列为 2,组为 A,值为 2
行的序列为 3,组为 A,值为 3
行的序列为 1,组为 B,值为 4
行的序列为 2,组为 B,值为 5
行的序列为 4,组为 A,值为 6
行的序列为 5,组为 A,值为 7
行的序列为 3,组为 B,值为 8
行的序列为 6,组为 A,值为 9
上一篇:按组计算唯一值的数量
下一篇:按组计算行数并获取不同列的比例