如何在开头没有空格的情况下打印此列表?

How can I print this list without the spaces at the beginning?

我正在尝试在 Python 中制作一个简单的井字游戏。现在使用我的代码,Playtable 看起来像这样:

1 | 2 | 3
  | 4 | 5 | 6 
  | 7 | 8 | 9

我的代码:

x = ["1", "2", "3 \n ", "4", "5", "6 \n ", "7", "8", "9"]
print(" | ".join(x))

我怎样才能像播放表第一行那样打印播放表?

根据@Cid 评论,这就是您要查找的内容

x = ["1", "2", "3\n4", "5", "6\n7", "8", "9"]
print(" | ".join(x))

输出:

1 | 2 | 3
4 | 5 | 6
7 | 8 | 9

如果您坚持保留同一个列表 x,您可以试试这个:

x = ["1", "2", "3 \n ", "4", "5", "6 \n ", "7", "8", "9"]
for i in range(3):
    print(" | ".join(n.strip() for n in x[i*3:i*3+3]))

输出:

1 | 2 | 3
4 | 5 | 6
7 | 8 | 9

我建议你将游戏逻辑(包含数据的列表)与游戏显示(管道,\n)分开

您可以考虑使用行列表,每一行都是包含一个单元格的另一个列表(嵌套列表):

rows = [
         ["1", "2", "3"],
         ["4", "5", "6"],
         ["7", "8", "9"]
       ]

display = "\n".join([" | ".join(row) for row in rows])

print(display)

" | ".join(row) for row in rows 将遍历行的每个元素(依次 ["1", "2", "3"]["4", "5", "6"] 然后 ["7", "8", "9"])并应用 " | ".join()

它被括在方括号 ---> [ <--- " | ".join(row) for row in rows ---> ] <--- 中的事实将从上一个操作的结果创建一个列表,其中包含连接的字符串:[ "1 | 2 | 3", "4 | 5 | 6", "7 | 8 | 9" ]

然后"\n".join()会加入之前的列表进行最后的展示

这输出

1 | 2 | 3
4 | 5 | 6
7 | 8 | 9

然后,您可以更轻松地访问不同的元素,例如,第 3 行,第 1 列(编号 7)可以通过 rows[2][0]

访问