在 Python 中转义列表理解中的“\n”新行
for 循环
string_grid = ''
for i in self.board:
string_grid += "\n" + str(i)
return string_grid
返回:
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
[0, 0, 0, 0, 0]
但是list comprehension怎么来的:
return str(["\n" + str(col) for col in self.board])
返回这个:
['\n[0, 0, 0, 0, 0]', '\n[0, 0, 0, 0, 0]', '\n[0, 0, 0, 0, 0]', '\n[0, 0, 0, 0, 0]', '\n[0, 0, 0, 0, 0]']
我已经尝试让它工作很长时间了,但无论我做什么,换行符都不会在标准输出中被转义。
请您参考如下方法:
在第一个示例中,您创建了一个字符串,在第二个示例中创建了一个列表。
您必须将列表连接到一个字符串:
return ''.join("\n{0}".format(col) for col in self.board)
