我正在研究一个简单的迷宫游戏,其中的矩阵应该是某种迷宫的地图。我得到了一个没有空格的文本文件,我想从中创建一个矩阵。
这是我已经尝试过的:
txt = open('matrix.txt')
matrix = []
for line in txt:
for character in line:
matrix.append(character.split())
例如,我的文本文件如下:
xxxxx
xS--x
xx-Fx
xxxxx
因此,如果我写matrix[1][1]
,我希望程序返回S
,但是不会,因为我可能没有创建矩阵。
非常感谢。
答案 0 :(得分:1)
您可以尝试以下方法:
txt = open('matrix.txt')
matrix = []
for line in txt:
matrix.append([])
for character in line:
if (character != "\n"):
matrix[-1].append(character)
我不确定这是否是最好的方法,但永远不会减少它的作用。
答案 1 :(得分:0)
这是实现目标的方法:
c
输出
txt = open('matrix.txt')
matrix = []
for line in txt:
line_list = [l for l in list(line) if l != '\n']
matrix.append(line_list)
print(matrix)
print(matrix[1][1])
更新:列表理解是直截了当的。但是还有另一种方法可以实现您的目标。
[['x', 'x', 'x', 'x', 'x'], ['x', 'S', '-', '-', 'x'], ['x', 'x', '-', 'F', 'x'], ['x', 'x', 'x', 'x', 'x']]
S
输出
for line in txt:
line_list = []
for l in list(line):
if l != '\n':
line_list.append(l)
matrix.append(line_list)
print(matrix)
print(matrix[1][1])