如何打印二维列表,使每个列表都位于带有空格的新行上,没有任何“”或[]

kod*_*oda 1 python printing arrays list

我在打印具有视觉吸引力的庄园中的列表时遇到了麻烦。该列表的一个例子是

[["-", "-", "-", "-"],["-", "-", "-", "-"],["-", "-", "-", "-"]] 
Run Code Online (Sandbox Code Playgroud)

(字符不一定都相同),但我需要在不使用除printrangeleninsertappend、之外的任何函数的情况下打印它pop,并且我不能使用任何字典或映射,也不能导入任何库或使用任何列表理解。我反过来想要:

- - - -
- - - - 
- - - - 
Run Code Online (Sandbox Code Playgroud)

我试过:

def print_board(board): 
    for i in board: 
        row = board[i] 
        for r in row: 
            print(*row[r], "\n")
Run Code Online (Sandbox Code Playgroud)

Bar*_*mar 5

你很接近,但你误解了for i in <list>它的工作原理。迭代变量获取列表元素,而不是它们的索引。

另外,row[r](如果r是索引)将只是一个字符串,而不是列表,因此您不需要使用*row[r].

无需包含"\n"print()调用中,因为默认情况下它会以换行符结束输出 - 您必须使用end=""阻止它的选项覆盖它。

for row in board:
    for col in row:
        print(col, end=" ") # print each element separated by space
    print() # Add newline
Run Code Online (Sandbox Code Playgroud)