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

Python中如何对二维列表的字符串元素执行两次拆分提取整数?

正确实现方法

错误原因

  • 你定义的my_array是二维嵌套列表,第0个元素是表头行,没有实际比分数据。原代码直接对整个二维列表取my_array[5](整个列表只有3个元素,索引5不存在,会直接报索引越界错误),逻辑完全错误。
  • split方法不会修改原字符串,原代码没有存储拆分后的结果,操作完全无效。
  • 拆分顺序错误:需要先按空格拆分整段比分字符串,取出最后一节的子串,再对子串按.拆分。

正确代码示例

# 首先修正你的二维数组定义(原写法没有在外层套[],本身就是语法错误)
my_array = [
    ['Tigers', '2021', 'Round', 'Turf', 'Opponent', 'Quarter scores', 'Totalfor', 'Quarter opponent score', 'TotalOpp', 'Result', 'Margin', 'Record', 'Venue', 'Crowd', 'Date'],
    ['Tigers', '2021', 'R1', 'H', 'Lions', '4.4 11.7 6.9 13.11', '103', '2.3 5.5 10.8 13.13', '91', 'W', '12', '1-0-0', 'Athenian', '26985', 'Sat 20-Mar-2021 4:05 PM'],
    ['Tigers', '2021', 'R2', 'A', 'Grizzlies', '3.1 4.7 5.14 10.12', '88', '4.1 9.6 15.11 18.13', '121', 'L', '-33', '1-0-1', 'Soccer stadium', '23946', 'Sat 27-Mar-2021 1:45 PM']
]

# 从第1行开始遍历,跳过表头行
for row in my_array[1:]:
    # 处理己方第四节比分:先按空格拆分取最后一段,再按点拆分转整数
    home_q4 = row[5].split(' ')[-1].split('.')
    home_q4_goal, home_q4_behind = int(home_q4[0]), int(home_q4[1])
    # 处理对手第四节比分
    opp_q4 = row[7].split(' ')[-1].split('.')
    opp_q4_goal, opp_q4_behind = int(opp_q4[0]), int(opp_q4[1])
    
    # 可打印验证结果,也可以存到其他变量用于后续总分校验
    print(f"轮次{row[2]} 己方第四节:{home_q4_goal}记进球 {home_q4_behind}分落后")
    print(f"轮次{row[2]} 对手第四节:{opp_q4_goal}记进球 {opp_q4_behind}分落后\n")

运行效果

执行后会输出:

轮次R1 己方第四节:13记进球 11分落后
轮次R1 对手第四节:13记进球 13分落后

轮次R2 己方第四节:10记进球 12分落后
轮次R2 对手第四节:18记进球 13分落后

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 22:12:03