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

如何将多行数字字符串转换为整数类型的二维数组?

三角形数字字符串转整数二维数组实现方案

核心实现逻辑

通过两层列表推导式分别处理行拆分和单行内的数字转换即可实现,不会出现一维数组或编译报错问题。

示例代码

第一步:定义输入的多行三角形字符串

# 示例为Project Euler第18题的输入三角形
tri_str = """75
95 64
17 47 82
18 35 87 10
20 04 82 47 65
19 01 23 75 03 34
88 02 77 73 07 63 67
99 65 04 28 06 16 70 92
41 41 26 56 83 40 80 70 33
41 48 72 33 47 32 37 16 94 29
53 71 44 65 25 43 91 52 97 51 14
70 11 33 28 77 73 17 78 39 68 17 57
91 71 52 38 17 14 91 43 58 50 27 29 48
63 66 04 68 89 53 67 30 73 16 69 87 40 31
04 62 98 27 23 09 70 98 73 93 38 53 60 04 23"""

第二步:一行代码完成转换

tri_arr = [[int(num) for num in line.split()] for line in tri_str.splitlines()]

代码说明

  • 外层遍历tri_str.splitlines()返回的每一行文本,每行对应生成二维数组的一个子列表
  • 内层对单行文本调用split()按空白符拆分得到单个数字字符串,再通过int()转换为整数
  • 避免一维数组的核心是做两层遍历,先拆行再拆每行内的数字,不要直接对整个字符串按空格拆分

常见出错原因

  • 仅使用单层列表推导式,直接将全串按空格拆分后统一转int,会得到一维数组
  • 拆分顺序错误,未先按换行拆分就处理空格,也会导致结构错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 11:09:03