如何从给定的文本文件创建矩阵?

时间:2019-11-10 14:35:53

标签: python multidimensional-array

我正在研究一个简单的迷宫游戏,其中的矩阵应该是某种迷宫的地图。我得到了一个没有空格的文本文件,我想从中创建一个矩阵。

这是我已经尝试过的:

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,但是不会,因为我可能没有创建矩阵。

非常感谢。

2 个答案:

答案 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])