打印二维列表

时间:2020-05-18 20:44:34

标签: python list multidimensional-array

为了简单起见,我有一个定义为的列表:

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)

我知道这将打印每一行,但是网格的每个输入仍显示为字符串,并且不是我想要的形式。您能建议我如何将其转换为这种形式吗?

4 个答案:

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