我写了一个可以通过迷宫找到方法的程序。该程序使用矩阵。
现在我想知道如何转换这个字符串:
XXXXXXXXXXXXXXXIXXX
X X
X XXXXXXXXXXXXXXXXX
X X X
X XXX XXXXX X X X X
X X X X X X X X
X X X XXX X X X X X
X X X X X X X
XXXXXXXXXXXOXXXXXXX
进入这样的矩阵:
data = [["X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "I", "X", "X", "X"],
["X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "X"],
["X", " ", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X"],
["X", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", "X", " ", " ", " ", "X"],
["X", " ", "X", "X", "X", " ", "X", "X", "X", "X", "X", " ", "X", " ", "X", " ", "X", " ", "X"],
["X", " ", " ", " ", "X", " ", "X", " ", " ", " ", "X", " ", "X", " ", "X", " ", "X", " ", "X"],
["X", " ", "X", " ", "X", " ", "X", "X", "X", " ", "X", " ", "X", " ", "X", " ", "X", " ", "X"],
["X", " ", "X", " ", "X", " ", " ", " ", " ", " ", "X", " ", "X", " ", " ", " ", "X", " ", "X"],
["X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "X", "O", "X", "X", "X", "X", "X", "X", "X"]]
答案 0 :(得分:1)
假设您将字符串定义为
text = '''
X....
'''
你通过
获得矩阵matrix = [[str(char) for char in line] for line in text.splitlines()]
答案 1 :(得分:1)
为我工作:
[[x for x in line] for line in a.split('\n')]
示例:
>>> a = """
... XXXXXXXXXXXXXXXIXXX
... X X
... X XXXXXXXXXXXXXXXXX
... X X X
... X XXX XXXXX X X X X
... X X X X X X X X
... X X X XXX X X X X X
... X X X X X X X
... XXXXXXXXXXXOXXXXXXX
... """
>>> [[x for x in line] for line in a.split('\n')]
[[], ['X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'I', 'X', 'X', 'X'], ['X', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'X'], ['X', ' ', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X'], ['X', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 'X', ' ', ' ', ' ', 'X'], ['X', ' ', 'X', 'X', 'X', ' ', 'X', 'X', 'X', 'X', 'X', ' ', 'X', ' ', 'X', ' ', 'X', ' ', 'X'], ['X', ' ', ' ', ' ', 'X', ' ', 'X', ' ', ' ', ' ', 'X', ' ', 'X', ' ', 'X', ' ', 'X', ' ', 'X'], ['X', ' ', 'X', ' ', 'X', ' ', 'X', 'X', 'X', ' ', 'X', ' ', 'X', ' ', 'X', ' ', 'X', ' ', 'X'], ['X', ' ', 'X', ' ', 'X', ' ', ' ', ' ', ' ', ' ', 'X', ' ', 'X', ' ', ' ', ' ', 'X', ' ', 'X'], ['X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'X', 'O', 'X', 'X', 'X', 'X', 'X', 'X', 'X'], []]
删除空的子列表:
[z for z in ([x for x in line] for line in a.split('\n')) if z]