传递这个的最好方法是什么:
board = [['X','o','o','o','o','X'],
['X','o','o','_','_','X'],
['X','o','o','_','_','X'],
['X','o','o','o','X','X'],
['X','o','o','o','X','X'],
['X','o','o','_','X','X'],
['_','o','o','o','X','X']]
进入这个:
"""
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║ {} ║
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╝
"""
格式化?注意:列表是基于板定义的垂直列表,因此简单的 for 循环将不起作用。
请您参考如下方法:
假设 board 是板,fmt 是格式字符串,在使用您喜欢的任何方法将其压平后,用 * 解压它,例如生成器表达式:
>>> print(fmt.format(*(item for row in board for item in row)))
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║ X ║ o ║ o ║ o ║ o ║ X ║ X ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ o ║ _ ║ _ ║ X ║ X ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ _ ║ _ ║ X ║ X ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ X ║ X ║ X ║ o ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ X ║ X ║ o ║ o ║ _ ║ X ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ _ ║ o ║ o ║ o ║ X ║ X ║
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╝
或者itertools.chain.from_iterable:
>>> import itertools
>>> print(fmt.format(*itertools.chain.from_iterable(board)))
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║ X ║ o ║ o ║ o ║ o ║ X ║ X ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ o ║ _ ║ _ ║ X ║ X ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ _ ║ _ ║ X ║ X ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ X ║ X ║ X ║ o ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ X ║ X ║ o ║ o ║ _ ║ X ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ _ ║ o ║ o ║ o ║ X ║ X ║
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╝
或者你可以使用普通的 itertools.chain 并首先用 * 解压 board:
>>> import itertools
>>> print(fmt.format(*itertools.chain(*board)))
╔═══╦═══╦═══╦═══╦═══╦═══╦═══╗
║ X ║ o ║ o ║ o ║ o ║ X ║ X ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ o ║ _ ║ _ ║ X ║ X ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ _ ║ _ ║ X ║ X ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ o ║ X ║ X ║ X ║ o ║ o ║ o ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ X ║ X ║ o ║ o ║ _ ║ X ║
╠═══╬═══╬═══╬═══╬═══╬═══╬═══╣
║ X ║ _ ║ o ║ o ║ o ║ X ║ X ║
╚═══╩═══╩═══╩═══╩═══╩═══╩═══╝
