如何使用Python从文本文件生成指定尺寸的二维嵌套列表(网格)
实现方法
你已经完成了文件内容读取到一维列表的步骤,后续处理逻辑很简单:
- 从已生成的
lineContent列表中取出前两个值,分别对应网格的行数和列数 - 从列表的第3个元素(对应索引为2)开始,按列数长度分段,每一段作为内层列表存入最终的网格结果即可。
完整可运行代码
# 读取文件所有内容到一维列表 lineContent = [] with open('document.txt','r') as f: for line in f: # 跳过空行避免转换报错,不需要的话可以去掉判断 if line.strip(): value = int(line.strip()) lineContent.append(value) # 提取行列数 rows = lineContent[0] cols = lineContent[1] # 生成二维嵌套列表 grid = [] for i in range(rows): # 计算当前行的切片起止位置 start_idx = 2 + i * cols end_idx = start_idx + cols grid.append(lineContent[start_idx:end_idx]) # 输出验证结果 print(grid)
简化写法
如果你熟悉列表推导式,也可以把生成网格的部分简化为一行代码:
grid = [lineContent[2 + i*cols : 2 + (i+1)*cols] for i in range(rows)]
运行上述代码后,输出的grid就是你要求的[[150, 109, 80], [892, 123, 982], [0, 98, 23]]格式的嵌套列表。
内容的提问来源于stack exchange,提问作者Anonymous_Noob162
相关产品推荐
相关产品推荐

