Python中字符串矩阵转整数矩阵 解决文本读取生成矩阵格式不符问题
问题解决方案
你现有代码生成的矩阵存在两个问题:元素是附带多余逗号的字符串类型,没有转为你需要的整数类型,调整方案如下:
import itertools # 如果你还没导入itertools需要先补充这行 maze = [] g = open("text.txt", "r") inte = int(g.readline()) for x in itertools.islice(g, inte): # 对拆分后的每个元素先移除逗号,再转为整数 row = [int(i.strip(',')) for i in x.rstrip('\n').split(' ')] maze.append(row) print(maze)
你也可以用with语句优化文件操作,避免文件资源未正常释放:
import itertools maze = [] with open("text.txt", "r") as g: inte = int(g.readline()) for x in itertools.islice(g, inte): maze.append([int(i.strip(',')) for i in x.rstrip('\n').split(' ')]) print(maze)
修改逻辑说明:
i.strip(',')会清除拆分后每个字符串首尾的逗号,将'1,'格式的内容转为纯数字字符串'1'- 外层嵌套
int()方法,将纯数字字符串转为整数类型,最终生成的矩阵就是你需要的全整数格式
内容的提问来源于stack exchange,提问作者Santiago Orozco
相关产品推荐
相关产品推荐

