为了简单起见,我有一个定义为的列表:
grid=[['X','X','O'],['X','O','X'],['O','X','X']]
我想打印此列表,但是使用print(grid)
不会以任何易于阅读的格式返回它。
相反,我想以一种看起来像这样的方式打印它:
X X O
X O X
X X O
我是python的新手,目前正尝试从最基础的地方学习编码。因此,我尝试定义一个函数print_grid()
,使其以易于阅读的格式打印网格。
我的代码开头是
def pinrt_grid(grid)
for i in grid:
print(i)
我知道这将打印每一行,但是网格的每个输入仍显示为字符串,并且不是我想要的形式。您能建议我如何将其转换为这种形式吗?
答案 0 :(得分:2)
def print_grid(grid)
for row in grid:
print(' '.join(row))
甚至更好,pprint.pprint
答案 1 :(得分:0)
无论网格中有多少个项目,只要它是二维的,这都应该起作用。
grid=[['X','X','O'],['X','O','X'],['O','X','X']]
def print_grid(grid):
for item in grid:
line = ' '.join(item)
print(line)
答案 2 :(得分:0)
按如下所示替换for
循环:
for i in grid:
print(' '.join(i))
在每次迭代中,i
将具有内部列表。由于这些内部列表是字符串列表,因此可以使用join()
方法将list的元素连接到字符串。使用print()
打印字符串。
答案 3 :(得分:0)
仅是一种乐趣,一种解决方案
grid=[['X','X','O'],['X','O','X'],['O','X','X']]
print("\n".join(map(" ".join,grid)))
你得到
X X O X O X O X X