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

如何遍历二维数组统计各团队Y值出现次数并存入一维数组

二维数组逐行统计各团队Y值出现次数实现方案

前置初始化

因为你的团队编号范围固定为1-24,首先要准备存储统计结果的一维数组:

  • 直接将数组长度设为25,所有元素初始值设为0,数组的0号索引位闲置不用,让1-24的数组索引直接对应1-24号团队的编号,省去后续索引偏移的换算步骤,减少计算错误。
  • 参考初始化写法:teamYCount = [0] * 25

核心循环遍历逻辑

逐行遍历从文件读取构建的二维数组,按每行Team# Y/N的格式提取内容完成统计:

  • 每遍历到一行,先拆分出两个核心字段:当前行对应的团队编号、当前行的Y/N标记
  • 注意:从文件读取的内容默认是字符串格式,需要把提取到的团队编号转成整数类型,才能匹配一维数组的索引位置
  • 判断当前行的标记值是否为Y,如果匹配,就给对应团队在一维数组里的计数位置加1;如果标记为N则不做任何操作

参考核心代码逻辑:

# 逐行遍历文件构建的二维数组
for row in file_2d_array:
    # 按行内的分隔规则拆分两个字段,比如按空格拆分
    team_raw, flag = row.strip().split()
    # 转换团队号为整数
    team_id = int(team_raw)
    # 匹配到Y就给对应位置计数+1
    if flag == "Y":
        teamYCount[team_id] += 1

结果输出

遍历完成后,从1到24依次读取一维数组里的计数结果,就能按照你需要的格式输出:

for team_no in range(1, 25):
    print(f"Team {team_no} had a count of {teamYCount[team_no]}")

避坑提示

  • 不要把二维数组的行索引直接当成团队号使用:二维数组的行顺序是文件的存储顺序,和团队编号没有绑定关系,必须从每行内容里提取真实的团队号作为一维数组的访问索引,否则统计结果会完全错乱。
  • 可以增加简单的边界校验:如果遇到不在1-24范围内的非法团队号,直接跳过该行处理,避免触发数组越界报错。
  • 注意字段拆分的分隔规则:如果文件里的行是用制表符、多空格做分隔,要把拆分规则对应调整,避免拆分出的字段错位。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.26 16:06:04