Python: 逐行打印字符串数组到标准输出

Python: print array of strings to stdout line by line

我需要将字符串数组打印到标准输出(但下一步是打印到文件),其中包含构建形状的信息。 下面,for 循环:

for i in range(0, xMax):
    for j in range(0, yMax):
        print arena_shape[ j + i*yMax]
    print('\r')

数组arena_shape[] 包含构建二维图形的字符,该图形具有 i = [0, xMax] 行和 j = [0, yMax] 列。 我希望输出为:

i=0    ----------    ------
i=1    |                  |
       |                  |
       |                  |
       |                  |
       |                  |
       |                  |
i=xMax --------------------

而不是像我期望的那样在 "horizontal" 中获取第一行 (i=0, j=[0,yMax]),我让它垂直显示,即使我只告诉 python 到 \r当更改 row i 而不是每个 column j

i=0 -
    -
    -
    -
    -
    -
    -
    -
    -
    -




    -
    -
    -
    -
    -
    -

我不明白为什么在 print("\r") 指令后没有换行。 预先感谢您的帮助。

Python 中的 print 函数总是换行打印。如果你想在没有换行的情况下打印,我建议将你需要打印的内容存储在一个临时变量中,并仅在你退出内部 for 循环时打印它

for i in range(0, xMax):
    temp_variable = ''
    for j in range(0, yMax):
        temp_variable += arena_shape[ j + i*yMax]
    print temp_variable