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

如何在Python中按列表索引规则计算各步骤对应的平均时长

实现思路

  • 先将原列表按每2个元素为一组拆分,每组第一个为id+步骤号字符串,第二个为对应时长
  • 提取每组字符串的最后1位作为步骤号,统计每个步骤号的总时长和出现次数
  • 最后用每个步骤号的总时长除以出现次数,得到对应平均时长

实现代码

a = ['1111', 1, '1112', 15, '1113', 21, '2221', 1, '2222', 34, '3331', 1, '3332', 54, '3333', 65]

# 存储每个步骤的统计数据:key为步骤号,value为[总时长, 出现次数]
step_stats = {}

# 按步长2遍历列表,i为步骤字符串的索引
for i in range(0, len(a), 2):
    step_str = a[i]
    duration = a[i+1]
    # 提取字符串最后1位作为步骤号
    step_num = int(step_str[-1])
    # 更新统计数据
    if step_num not in step_stats:
        step_stats[step_num] = [0, 0]
    step_stats[step_num][0] += duration
    step_stats[step_num][1] += 1

# 计算各步骤平均时长
step_avg = {}
for step, (total, count) in step_stats.items():
    step_avg[step] = total / count

# 输出结果
for step in sorted(step_avg.keys()):
    print(f"步骤{step}平均时长:{step_avg[step]}")

运行结果

步骤1平均时长:1.0
步骤2平均时长:34.333333333333336
步骤3平均时长:43.0

如果需要调整结果的小数精度,可在计算平均时使用round(total/count, 保留位数)处理即可。

内容的提问来源于stack exchange,提问作者Vishal A.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:45:07